Some refactoring

* Moved some of the code to separate plugins
* Added a few useful mappings
* Lazier loading