 			}
 		}
 		
-		protected function stage_render(event : Event) : void
-		{
+		protected function self_enterFrame(event : Event) : void
+		{
+			removeEventListener(Event.ENTER_FRAME, self_enterFrame);
 			validateElements();
 		}
 		

		
		reprise function markChildAsInvalid(child : UIObject) : void
		{
			//TODO: check if child.toString() is ok to use
			m_invalidChildren.push({element : child, path : child.toString()});
			stage.invalidate();
		}
		
		reprise function markChildAsValid(child : UIObject) : void

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