In the process of hierarchical composition of software component types,
the reusability of software component types is improved through the
"promotion of features". That is, a feature of an instance of a
predetermined software component type may be promoted to a software
component type containing instances of the predetermined software
component type. The promoted feature may then be customized when the
containing software component type is instantiated.