smalltalkでわかるのはデータの隠蔽はオブジェクト指向じゃないということだな。
メソッドがオブジェクトの参照を返すからそこらじゅうのインスタンス変数が
同じオブジェクトを参照するからね。
もしそうならコピーして渡すことしか出来ないはずだよ。