> 1. Fooに対して操作が行われることが、Hogeを利用する側から不可視になるから

ってさ、ちょっと待って欲しい。
fooのインスタンスに対してどんな操作が行われようと、
Hogeを利用する側には無関係では?
Hogeがそれを「把握して無いといけない」設計がおかしいのでは?

SwingのJTableはTableModelのインスタンスを公開してるから、
そちらに対して操作はできるし、通常のGUIからのイベントも、
TableModelに当然操作を加えてる。
互いに、どこで操作が行われたかなど気にする必要もない。