Improved module registering

1) Improved module registering by only registering modules from types in
ModuleCatalog
2) Added Fluent Ribbon to carry on further work.