implement ComponentMapper & ComponentManager