Слишком много лишнего кода. Кроме того, вопрос намекает на то, что у Вас что-то не лады с архитектурой.
Но отвечу по вопросу псевдокодом:

Код AS3:
public function MyClass(obj:MyClass = null) {
if (obj)
_obj = obj;
}
var obj1:MyClass = new MyClass();
var obj2:MyClass = new MyClass(obj1);
Вот как-то так. Кажется, я верно в голове логику выстроил. И вроде бы верно понял вопрос.