Made ComponentManager Generic