Sounds pretty cool and useful. Perhaps you'll post it somewhere? I'm sure people will be interested to see it!
-=Cliff>
I'll try post something about it when I get a chance to organize it better for public use.
To give you a basic overview though I'm taking the styles loaded from StyleManager and injecting them into fl.core.UIComponent via a BaseComponenet Class which extends UIComponent. All of my components extend BaseComponent allowing me to just create my custom components the same way I would using Flash Component Framework. So I get all the functionality of the base Flash components like Focus management and component redrawing along with the ability to load styles externally or through the code as you normally would using setStyle(name, value).
The StyleManager itself is more or less a copy of Flex's StyleManager (and related classes like CSSStyleDeclaration) but adapted to the way Flash components redraw themselves instead of the way Flex does.
The XML gets parsed into StyleDeclarations Objects (basically simple style value objects of name/value pairs like bgColor:#ff0000), which in turn get loaded into the StyleManager instance [singleton] using the styleName as the key and the StyleDeclaration as the value. Later when I call StyleManager.getStyleDeclaration(styleName || className) during instantiation of a component, in BaseComponent, it returns the full StyleDeclaration Object that I then can apply to the component via setStyle().
BaseComponent simply loops through the StyleDecleration calling the parents [UIComponent ] .setStyle(name, value) method and you end up with all the styles loaded into your component. From there on everything is the same as using/creating a regular Flash Component using the default framework.
Hope that makes sense. It took me a lot of time studying both Flex and Flash component frameworks to understand the differences and try and merge the two together. But the above is the basic work flow of it.