Fixes Component::require and the extension defining it
Simplifies the component registration
Fixes template lookup