I think you're thinking of this all wrong. Rather than extending the object class, how about making a new class and having the old object be a property of the new one? Then you can assign by reference, the default behavior of assigning a defined object instance.