      *  @private
      *  Storage for the layer property.
      */
-    private var _layer:DesignLayer;
+    private var _designLayer:DesignLayer;
     
     [Inspectable (environment='none')]
     
     /**
-     *  @copy mx.core.IVisualElement#layer
+     *  @copy mx.core.IVisualElement#designLayer
      *  
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function get layer():DesignLayer
-    {
-        return _layer;
+    public function get designLayer():DesignLayer
+    {
+        return _designLayer;
     }
     
     /**
      *  @private
      */
-    public function set layer(value:DesignLayer):void
-    {
-        if (_layer)
-            _layer.removeEventListener("layerPropertyChange", layer_PropertyChange, false);
+    public function set designLayer(value:DesignLayer):void
+    {
+        if (_designLayer)
+            _designLayer.removeEventListener("layerPropertyChange", layer_PropertyChange, false);
         
-        _layer = value;
+        _designLayer = value;
         
-        if (_layer)
-        {
-            _layer.addEventListener("layerPropertyChange", layer_PropertyChange, false, 0, true);
-            $alpha = _alpha * _layer.computedAlpha;
-            $visible = _visible && _layer.computedVisibility;
+        if (_designLayer)
+        {
+            _designLayer.addEventListener("layerPropertyChange", layer_PropertyChange, false, 0, true);
+            $alpha = _alpha * _designLayer.effectiveAlpha;
+            $visible = _visible && _designLayer.effectiveVisibility;
         }
     }
         

        {
            _alpha = value;
        
            if (layer)
                value = value * layer.computedAlpha; 
            
            $alpha = value;


    {
        switch (event.property)
        {
            case "effectiveVisibility":
            {
                var newValue:Boolean = (event.newValue && _visible);            
                if (newValue != $visible)
                    $visible = newValue;
                break;
            }
            case "effectiveAlpha":
            {
                var newAlpha:Number = Number(event.newValue) * _alpha;
                if (newAlpha != $alpha)
