     {
         super.createChildren();
         
-        // SlidingContent: background, overlay, labels
-        slidingContent = new SpriteVisualElement();
+		contents = new SpriteVisualElement();
+		addChild(contents);
+		
+		// SlidingContent: background, overlay, labels
+        slidingContentBackground = new SpriteVisualElement();
+        contents.addChild(slidingContentBackground);
+
         slidingContentOverlay = new slidingContentOverlayClass();
-        slidingContent.addChild(slidingContentOverlay);
+        contents.addChild(slidingContentOverlay);
+        
+        slidingContentForeground = new SpriteVisualElement();
+        contents.addChild(slidingContentForeground);
         
         selectedLabelShadow = StyleableTextField(createInFontContext(StyleableTextField));
         selectedLabelShadow.styleName = this;
         selectedLabelShadow.colorName = "textShadowColor";
         selectedLabelShadow.text = selectedLabelText;
-        slidingContent.addChild(selectedLabelShadow);
+        slidingContentForeground.addChild(selectedLabelShadow);
         
         selectedLabel = StyleableTextField(createInFontContext(StyleableTextField));
         selectedLabel.styleName = this;
         selectedLabel.text = selectedLabelText;
-        slidingContent.addChild(selectedLabel);			
+        slidingContentForeground.addChild(selectedLabel);			
         
         unselectedLabelShadow = StyleableTextField(createInFontContext(StyleableTextField));
         unselectedLabelShadow.styleName = this;
         unselectedLabelShadow.colorName = "textShadowColor";
         unselectedLabelShadow.text = unselectedLabelText;
-        slidingContent.addChild(unselectedLabelShadow);
+        slidingContentForeground.addChild(unselectedLabelShadow);
         
         unselectedLabel = StyleableTextField(createInFontContext(StyleableTextField));
         unselectedLabel.styleName = this;
         unselectedLabel.text = unselectedLabelText;
-        slidingContent.addChild(unselectedLabel);
-
-        addChild(slidingContent);
+        slidingContentForeground.addChild(unselectedLabel);
 
         // Track
         track = new SpriteVisualElement();
-        addChild(SpriteVisualElement(track));
+        contents.addChild(SpriteVisualElement(track));
         
         // Thumb
         thumb = new SpriteVisualElement();
-        addChild(SpriteVisualElement(thumb));
-        
-        // Clipping Mask
-        mask = new SpriteVisualElement();
-        addChild(mask);
+        contents.addChild(SpriteVisualElement(thumb));
+        
+        // Thumb clipping mask
+        var thumbMask:Sprite = new Sprite();
+        SpriteVisualElement(thumb).mask = thumbMask;
+        SpriteVisualElement(thumb).addChild(thumbMask);
+        
+        // Content clipping mask
+        var contentMask:Sprite = new SpriteVisualElement();
+        contents.mask = contentMask;
+        contents.addChild(contentMask);
     }
     
     //----------------------------------------------------------------------------------------------

     */
    private function drawMask(skinWidth:Number, skinHeight:Number):void 
    {
            var graphics:Graphics = SpriteVisualElement(mask).graphics;
            graphics.clear();
            graphics.beginFill(0x0);
            graphics.drawRoundRect(0, 0, skinWidth, layoutThumbHeight, layoutCornerRadius * 2);
            graphics.endFill();
    }
    
    /**

import mx.core.DPIClassification;
import mx.core.IVisualElement;
import mx.core.mx_internal;
import mx.utils.ColorUtil;

import spark.components.ToggleSwitch;
import spark.components.supportClasses.StyleableTextField;
import spark.core.SpriteVisualElement;
import spark.skins.mobile.supportClasses.MobileSkin;
import spark.skins.mobile160.assets.ToggleSwitch_contentShadow;
import spark.skins.mobile240.assets.ToggleSwitch_contentShadow;
