     {
         super.partRemoved(partName, instance);
 
-        if (instance == controlGroup)
+        if (instance == controlBarGroup)
         {
             // copy proxied values from contentGroup (if explicitely set) to contentGroupProperties
             
-            var newControlGroupProperties:Object = {};
+            var newControlBarGroupProperties:Object = {};
             
-            if (BitFlagUtil.isSet(controlGroupProperties as uint, CONTROLS_PROPERTY_FLAG))
-                newControlGroupProperties.controls = controlGroup.getMXMLContent();
+            if (BitFlagUtil.isSet(controlBarGroupProperties as uint, CONTROLBAR_PROPERTY_FLAG))
+                newControlBarGroupProperties.controlBarContent = controlBarGroup.getMXMLContent();
             
-            if (BitFlagUtil.isSet(controlGroupProperties as uint, LAYOUT_PROPERTY_FLAG))
-                newControlGroupProperties.layout = controlGroup.layout;
+            if (BitFlagUtil.isSet(controlBarGroupProperties as uint, LAYOUT_PROPERTY_FLAG))
+                newControlBarGroupProperties.layout = controlBarGroup.layout;
             
-            controlGroupProperties = newControlGroupProperties;
-
-            controlGroup.mxmlContent = null;
-            controlGroup.layout = null;
-        }
+            controlBarGroupProperties = newControlBarGroupProperties;
+
+            controlBarGroup.mxmlContent = null;
+            controlBarGroup.layout = null;
+        }
+    }
+
+    /**
+     *  @inheritDoc
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override protected function getCurrentSkinState():String
+    {
+        var state:String = enabled ? "normal" : "disabled";
+        if (controlBarGroup)
+        {
+            if (BitFlagUtil.isSet(controlBarGroupProperties as uint, CONTROLBAR_PROPERTY_FLAG))
+                state += "WithControlBar";
+        }
+        else
+        {
+            if (controlBarGroupProperties.controlBarContent)
+                state += "WithControlBar";
+        }
+
+        return state;
     }
 
     //----------------------------------

     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public function get controlLayout():LayoutBase
    {
        return (controlGroup) 
            ? controlGroup.layout 
            : controlGroupProperties.layout;
    }

    public function set controlLayout(value:LayoutBase):void
    {
        if (controlGroup)
        {
            controlGroup.layout = value;
            controlGroupProperties = BitFlagUtil.update(controlGroupProperties as uint, 
                                                        LAYOUT_PROPERTY_FLAG, true);
        }
        else
            controlGroupProperties.layout = value;
    }

    //--------------------------------------------------------------------------

    /**
     *  @private
     */
    private static const CONTROLBAR_PROPERTY_FLAG:uint = 1 << 0;

    /**
     *  @private
