adding create children methods to base component and adding handling for them in the factory