 		 */
 		public function set parent(newParent:DisplayObjectContainer):void
 		{
-			var oldParent:DisplayObjectContainer = _parent;
+			if (!_oldParent)
+				_oldParent = _parent;
 			_parent = newParent;
-			changeParent(object, oldParent, newParent);
+			updateParentLater();
 		}
 		
 		/**

			this.addImmediateCallback(this, firstCallback);
		}
		
		private var _parent:DisplayObjectContainer = null;
		private var _object:DisplayObject = null;
		

{
	import flash.display.DisplayObject;
	import flash.display.DisplayObjectContainer;
	import flash.events.Event;
	
	import weave.api.core.IDisposableObject;
	import weave.api.core.ILinkableDisplayObject;
