Dynamic translations column name of routes was missing the trailing s to match the column name in messages table.
Overhauled delayed classes to get rid of the evil Singleton pattern. Instead we create pure static classes and each class has to implement it's logic as it likes (creating Interfaces doesn't make a lot of sense in a closed development environment).
Overhauled the i18n system:
* Merged I18n and I18nModel to one single class. I18n only acted as proxy for I18nModel, which makes totally no sense at all and only kills performance.
* I18nModel now contains all the logic related to i18n stuff.
* Updated all classes that maintained references to I18n class.