update ComponentFactory