 		override public function setChildIndex (child:INode, index:uint):void
 		{
 			super.setChildIndex(child, index);
-			invalidateScene();
+			_isInvalidated = true;
 		}
 		
 		/**

			return layoutRendererFactory;
		}
		
		public function set layoutRenderer (value:IFactory):void
		{
			if (value && layoutRendererFactory != value)
			{
				layoutRendererFactory = value;
				invalidateScene();
			}
		}
		
		///////////////////////////////////////////////////////////////////////////////
		//	STYLE RENDERERS
		///////////////////////////////////////////////////////////////////////////////
		
		private var styleRendererFactories:Array = [];
		

		 */
		override public function removeChildByID (id:String):INode
		{
			var child:INode = super.removeChildByID(id);
			child.removeEventListener(IsoEvent.INVALIDATE, child_invalidateHandler);
			
			_isInvalidated = true;
			
			return child;
		}
		
		/**
		 * @inheritDoc
		 */
		override public function removeAllChildren ():void
		{			
			var child:INode
			for each (child in children)
				child.removeEventListener(IsoEvent.INVALIDATE, child_invalidateHandler);
			
			super.removeAllChildren();
			_isInvalidated = true;
		}
		
		/**
		 * Renders the scene as invalidated if a child object is invalidated.
		 * 
		 * @param evt The IsoEvent dispatched from the invalidated child.
		 */
		protected function child_invalidateHandler (evt:IsoEvent):void
		{
			var child:INode = INode(evt.target);
			if (invalidatedChildren.indexOf(child) == -1)
				invalidatedChildren.push(child);
			
			_isInvalidated = true;
		}
		
		///////////////////////////////////////////////////////////////////////////////
		//	LAYOUT RENDERER
		///////////////////////////////////////////////////////////////////////////////
		
		/**
