Refactored into using Component base class for components, removed need
to register components