 import flash.utils.*;
 
 import mx.core.IFactory;
+import mx.core.IFlexModuleFactory;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.components.Skin;
 import mx.events.PropertyChangeEvent;
+import mx.managers.ISystemManager;
+import mx.modules.ModuleManager;
 
 use namespace mx_internal;
 

        if (skinParts != null)
            return skinParts;
            
        var type:Class = ApplicationDomain.currentDomain.getDefinition(className) as Class;             
        skinParts = new Array;
        
        var des:XML = flash.utils.describeType(type);

     *  @private
     *  Find the skin part metadata for a given className.
     */
    private function getSkinPartMetadata(className:String):Array
    {
        // Check cached values first
        if (!skinPartsByClassName)
