      */
     private var oldUnscaledWidth:Number;
     
+    /**
+     *  @private
+     *  Since decoratorDisplay is a GraphicElement, we have to call its lifecycle methods 
+     *  directly.
+     */
+    private var decoratorNeedsValidateProperties:Boolean = false;
+    
+    /**
+     *  @private
+     *  Since decoratorDisplay is a GraphicElement, we have to call its lifecycle methods 
+     *  directly.
+     */
+    private var decoratorNeedsValidateSize:Boolean = false;
+    
+    /**
+     *  @private
+     *  Since decoratorDisplay is a GraphicElement, we have to call help assign 
+     *  its display object
+     */
+    private var decoratorNeedsDisplayObjectAssignment:Boolean = false;
+    
     //--------------------------------------------------------------------------
     //
     //  Public Properties: Overridden

    /**
     *  @private 
     */ 
    private var _loadingIconClass:Class;
    
    /**
     *  The icon asset to use while an externally loaded asset is

    /**
     *  @private
     */ 
    public function set loadingIconClass(value:Object):void
    {
        if (value == _loadingIconClass)
            return;
