Component composition is one of the practical and effective approaches for supporting software evolution. However, existing com-ponent composition techniques need to be complemented by advanced features which address various sophisticated composition issues.In this paper, we introduce a set of features that supports and manages dynamic as well as flexible composition of components in a con-trolled way. We also propose a component composition model that supports these features. The proposed model enables dynamic, flex-ible, and hierarchical composition of components by providing and manipulating dedicated composition information, which in turnincreases reusability of components and capabilities for supporting software evolution. To show the benefits of our model concretely,we provide a Hotel Reservation System case study. The experimental results show that our model supports software evolution effectivelyand provides efficient and modular structures, refactoring, and collaboration-level extensions as well.