      */
     override public function set rotation(value:Number):void
     {
-        rotationZ = value;
+        // TODO (klin): rotation actually affects width and height as well.
+        if (rotation == value)
+            return;
+        
+        if (layoutFeatures == null)
+        {
+            super.rotation = value;
+        }
+        else
+        {
+            layoutFeatures.layoutRotationZ = value;
+            validateTransformMatrix();
+        }
     }
     
     //----------------------------------

     */
    override public function get height():Number
    {
        return (layoutFeatures == null) ? super.height : _height;
    }
    
    /**

        else
        {
            layoutFeatures.layoutScaleY = value;
            _height = Math.abs(value) * measuredHeight;
            validateTransformMatrix();
        }
    }
