Support for Object cloning

To reduce the cost of instantiating objects we can simply clone the parent object