The Flash MX 2004 components are based on the Version 2.0 component framework, the latest framework provided by Macromedia. One of the many changes the new framework required is a re-thinking of how components will support skinning. In the previous version of Flash, there wasn’t much of a formal system behind how skinning was implemented. Generally component developers just made sure that they had movie clips in the library for when a component needed to display something. In that way a user could easily edit a library symbol if they wanted to change the look of a component. This was very simple for users, but also very limited.
As you might have guessed, a simple approach has many drawbacks. The biggest of which was the ability to skin different instances of a component separately and have control over skinning through code. Since all instances shared the same library symbol, instance-level skinning wasn’t possible (at least not without a lot of extra work). Furthermore skinning required you to work with the library and didn’t provide you with other options. With the new component framework, users have a lot more flexibility over how they can skin components. With this added flexibility though comes greater complexity, which requires a solid understanding of the many options to best take advantage of the skinning architecture.