Very often I face the same problem with Flex: When I create a skin for spark component or create new spark component based on another spark component I have inherited properties that I don't need. For example, when I create a custom skin for spark.components.Panel I don't need RectangularDropShadow. At the moment to get rid of it I remove it from MXML code and create a public variable in AS of the same type named as it was in removed component id. I do this to satisfy Liskov principle for OOP and it works (http://en.wikipedia.org/wiki/Liskov_substitution_principle) but I have unused properties/variables which is not nice. I don't think that this is the best way it could be done.
Of course there is another approach: In order to create custom panel without unneeded inherited features spark.components.Panel I have to create my own custom panel inherited from super class of spark.components.Panel for example. This approach implies some extra work work, but this is straight forward OOP approach.
But maybe there are other Flex specific techniques which I don't know yet?
I would like to know how Flex-gurus handle this issue. All you ideas and suggestions are Welcome!