implemented ComponentCreator as a replacement to ComponentAssemblyStrategy