 			stage.addEventListener(Event.RESIZE, stage_resize);
 			super.initialize();
 			stage.stageFocusRect = false;
-			stage.addEventListener(Event.RENDER, stage_render);
 			stage.addEventListener(KeyboardEvent.KEY_DOWN, key_down);
 			stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, stage_keyFocusChange);
 			stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, stage_mouseFocusChange);

			//validate elements that have been marked as invalid during validation
			if (m_invalidChildren.length)
			{
				m_stageInvalidationTimeout = setTimeout(invalidateStage, 5);
			}
			m_documentIsValidating = false;
		}

		
		reprise function markChildAsInvalid(child : UIObject) : void
		{
			if (m_invalidChildren.length == 0)
			{
				addEventListener(Event.ENTER_FRAME, self_enterFrame);
			}
			//TODO: check if child.toString() is ok to use
			m_invalidChildren.push({element : child, path : child.toString()});
		}
		
		reprise function markChildAsValid(child : UIObject) : void
