         {
             _transformY = value;
             transformChanged = true;
-            invalidateDisplayList();
-        }
-    }
-
-    //----------------------------------
-    //  x
-    //----------------------------------
-    
-    private var _x:Number;
-    
-    override public function get x():Number
-    {
-        return !isNaN(_x) ? _x : super.x;
-    }
-    
-    override public function set x(value:Number):void
-    {
-        if (_x != value)
-        {
-            _x = value;
-            transformChanged = true;
-            invalidateDisplayList();
-        }
-    }
-
-    //----------------------------------
-    //  y
-    //----------------------------------
-    
-    private var _y:Number;
-    
-    override public function get y():Number
-    {
-        return !isNaN(_y) ? _y : super.y;
-    }
-    
-    override public function set y(value:Number):void
-    {
-        if (_y != value)
-        {
-            _y = value;
-            transformChanged = true;
-            invalidateDisplayList();
-        }
-    }
-    
+            invalidateProperties();
+        }
+    }
+
     private function transformPropertyChangeHandler(event:PropertyChangeEvent):void
     {
         if (event.kind == PropertyChangeEventKind.UPDATE)

            
            _rotation = value;
            transformChanged = true;
            invalidateDisplayList();
        }
    }
    
    //----------------------------------
    //  scaleX
    //----------------------------------
    
    private var _scaleX:Number;
    
    /**
     *  Indicates the horizontal scale (percentage) of the element as applied from the transform point.
     */
    override public function get scaleX():Number
    {
        return !isNaN(_scaleX) ? _scaleX : super.scaleX;
    }
    
    
    override public function set scaleX(value:Number):void
    {
        if (_scaleX != value)
        {
            _scaleX = value;
            transformChanged = true;
            invalidateDisplayList();
        }
        
    }
    
    //----------------------------------
    //  scaleY 
    //----------------------------------
    private var _scaleY:Number;
    
    /**
     *  Indicates the vertical scale (percentage) of the element as applied from the transform point.
     */
    override public function get scaleY():Number
    {
        return !isNaN(_scaleY) ? _scaleY : super.scaleY;
    } 
     
    override public function set scaleY(value:Number):void
    {
        if (_scaleY != value)
        {
            _scaleY = value;
            transformChanged = true;
            invalidateDisplayList();
        }
    } 

    //----------------------------------
    //  transform

                if (element)
                    element.validateDisplayList();
            }
        }
    }
    
