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

			}
		}
		
		protected function stage_render(event : Event) : void
		{
			validateElements();
		}
		

		
		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
