         
         if (skinStateIsDirty)
         {
-            commitSkinState( getUpdatedSkinState() );
+            skin.currentState = getCurrentSkinState();
             skinStateIsDirty = false;
         }
     }

                {
                    var len:int = numDynamicParts(skinPartID);
                    for (var j:int = 0; j < len; j++)
                        removePartInstance(skinPartID, getDynamicPartAt(skinPartID, j));
                }
                
                this[skinPartID] = null;

    }

    /**
     *  Called when an instance of a skin part is being removed. 
     *  You do not call this method directly. 
     *  For static parts, Flex calls it automatically when it calls the <code>unloadSkin()</code> method. 
     *  For dynamic parts, Flex calls it automatically when it calls 
     *  the <code>removeDynamicPartInstance()</code> method. 
     *
     *  <p>Override this function to remove behavior from the part.</p>
     *
