А контракт на некий приаттаченый, возможно снаружи, к классу объект -- совсем сказка, тогда можно не ограничиваться компаньонами и перестать таскать кастомные сериализаторы в подавляющем большинстве случаев, к примеру :) И не вешать на один компаньон несколько ответственностей, если он уже есть и не фабрика при этом.
Там проблема имплиситов начинается. Компаньоны хороши тем, что они известны всегда