相互作用はOOPの苦手分野だろうがよ。
object1.communicate( object2 );
変だろ?
communicate( object1, object2 );
だよな。