         features.layoutWidth = width;  // for the mirror transform      
         _layoutFeatures = features;
         invalidateTransform();
+        return features;
     }
 
     /**

            if (prevZ != _layoutFeatures.layoutZ)
                dispatchEvent(new Event("zChanged"));
        }
        else
        {
            if (translation == null && transformCenter != null)
            {
                if (xformPt == null)
                    xformPt = new Point();
                xformPt.x = transformCenter.x;
                xformPt.y = transformCenter.y;                
                var xformedPt:Point = 
                    transform.matrix.transformPoint(xformPt);
            }
            if (rotation != null && !isNaN(rotation.z))
                this.rotation = rotation.z;
            if (scale != null)
            {
                scaleX = scale.x;
                scaleY = scale.y;
            }            
            if (transformCenter == null)
            {
                if (translation != null)
                {
                    x = translation.x;
                    y = translation.y;
                }
            }
            else
            {
                if (xformPt == null)
                    xformPt = new Point();
                xformPt.x = transformCenter.x;
                xformPt.y = transformCenter.y;                
                var postXFormPoint:Point = 
                    transform.matrix.transformPoint(xformPt);
                if (translation != null)
                {
                    x += translation.x - postXFormPoint.x;
                    y += translation.y - postXFormPoint.y;
                }
                else
                {
                    x += xformedPt.x - postXFormPoint.x;
                    y += xformedPt.y - postXFormPoint.y;                                   
                }
            }
        }
        
        if (!invalidateLayout)
            _includeInLayout = oldIncludeInLayout;
    }

    /**
     * A utility method to transform a point specified in the local
     * coordinates of this object to its location in the object's parent's 
     * coordinates. The pre-layout and post-layout result is set on 
     * the <code>position</code> and <code>postLayoutPosition</code>
     * parameters, if they are non-null.
     * 
     * @param localPosition The point to be transformed, specified in the
     * local coordinates of the object.
     * @position A Vector3D point that holds the pre-layout
     * result. If null, the parameter is ignored.
     * @postLayoutPosition A Vector3D point that holds the post-layout
     * result. If null, the parameter is ignored.
     * 
     *  @langversion 3.0
     *  @playerversion Flash 10

            validateMatrix();
    }

    /**
     *  @copy mx.core.ILayoutElement#transformAround()
     *  
