 
 package flexlib.css
 {
-import mx.core.UIComponent;
 import mx.styles.CSSStyleDeclaration;
+import mx.styles.IStyleClient;
 import mx.styles.StyleManager;
 import mx.utils.ObjectUtil;
 

    }
    public function set styleNames( val : Object ) : void
    {
    	if ( val == null || ( !( val is Array ) && !( val is String ) ) ) return;
    	
    	if ( val is Array )
    	{
        	__styleNames = val as Array;
     	}
     	else if ( val is String )
     	{
     		__styleNames = ( val as String ).split( "," );
     	}
     
        __styleNamesChanged = true;
        invalidateProperties();

    protected function applyStyles() : void
    {
        var styles : Array = []; 
        var styleObj : Object = null;
        
        for each ( var cssStyleDeclaration : CSSStyleDeclaration in __cssStyleDeclarations )
        {
            styleObj = {};
            
            if ( cssStyleDeclaration.factory != null ) 
            {
                cssStyleDeclaration.factory.apply( styleObj );
            }    
            if ( cssStyleDeclaration.defaultFactory != null )
            {
                cssStyleDeclaration.defaultFactory.apply( styleObj );
            }
            
            var temp : Array = ObjectUtil.getClassInfo( styleObj ).properties as Array;
            for ( var propName : String in styleObj ) 
            {
                styles.push( propName );
            }
            
            trace( styles, "\n" );
        }
        
        if ( target != null )
        {
