restructured component storage in EngineComponentManager