     private var currentStateIconClass:Class;
     
     /**
-     *  The Class used to create the icon in the unselected state
+     *  The Class used to create the icon in the up state
      */
-    protected var backgroundClass:Class;
+    protected var upIconClass:Class;
     
     /**
-     *  The Class used to create the icon in the selected state 
+     *  The Class used to create the icon in the selected up state 
      */
-    protected var selectedBackgroundClass:Class;
+    protected var upSelectedIconClass:Class;
+    
+    /**
+     *  The Class used to create the icon in the down state
+     */
+    protected var downIconClass:Class;
+    
+    /**
+     *  The Class used to create the icon in the selected down state 
+     */
+    protected var downSelectedIconClass:Class;
     
     //--------------------------------------------------------------------------
     //

     */
    override protected function commitCurrentState():void
    {    
        // Check for selected or not selected
        if (currentState != null)
        {
            changeFXGSkin = true;
            invalidateProperties();
            invalidateSize();
            invalidateDisplayList();
        }
    }
    

    {
        super.commitProperties();
        
        if (changeFXGSkin)
        {
            changeFXGSkin = false;
            
            if (currentStateIconClass)
            {
                // Remove iconDisplay
                if (iconDisplay != null)
                    removeChild(iconDisplay);
                
                iconDisplay = new currentStateIconClass();  
                
                addChild(iconDisplay);
            }
        }
    }
    
