Never instantiate components unless needed + some cleanup

* Never instantiate components unless get_component or get_matching_components are called.
* Remove uninstall_component from local repository
* Fix component files in spec so that they match the schema.