Add Metatype chooser
Add Bus provider
Refactor