設計のミスと片付ければ簡単だが、
それ自体は特に問題があるようには見えず、シコシコ実装すれば最終的に綺麗に出来上がるわけだ。

この機能が必要だから、あのオブジェクトをメンバに入れて、
この機能とこの機能を連携させたいから、ここであのオブジェクトのメソッドを読んで・・・

ってやってくわけだが、どうにもやりたい事に対してコーディング量が増えすぎてる気がしてならない。
とはいえ、仕様の規模が大きくこれ以上の粒度でのカプセル化は考えにくい。
コーディング量は増えてる代わりに、膨大な仕様にもかかわらず混乱なく実装できてると言ってしまえばそうなんだが・・・