Extract matching definition by type to TyphoonDefinition from ComponentsFactory. Cleanup
Introduce new TyphoonFactoryDefinition class that used for definitions with factory reference