         // trace("<<LayoutManager:WaitAFrame");
     }
 
-    private function attachListeners(systemManager:ISystemManager):void
+    public function attachListeners(systemManager:ISystemManager):void
     {
         if (!waitedAFrame)
         {

            {
                // trace("LayoutManager calling validateProperties() on " + Object(obj) + " " + DisplayObject(obj).width + " " + DisplayObject(obj).height);

                obj.validateProperties();
                if (!obj.updateCompletePendingFlag)
                {
                    updateCompleteQueue.addObject(obj, obj.nestLevel);
                    obj.updateCompletePendingFlag = true;
                }

                // Once we start, don't stop.
                obj = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(target));
            }

        {
            usePhasedInstantiation = false;

			listenersAttached = false;

			var obj:ILayoutManagerClient = ILayoutManagerClient(updateCompleteQueue.removeLargest());
            while (obj)
            {
                if (!obj.initialized && obj.processedDescriptors)
