         # Adding children after ensures objects don't need to be sorted
         if recursive
             for child in @children
-                child = child.clone(options)
+                child = child.clone({options, new_parent: n})
                 child.parent = n
                 children.push child
         n.body.instance()

    clear_parent: (options) ->
        @scene.clear_parent this, options

    load: (options) ->
        return @scene?.load_objects [this], options

    # Removes the object from the scene. It does NOT delete the object itself.
    remove: (recursive) ->

            child.body.instance()
        return n

    set_parent: (parent, options) ->
        if @parent?
            @scene.clear_parent this, options
        @scene.make_parent parent, this, options

    parent_to: (parent, options) ->
        if @parent?
            @scene.clear_parent this, options
