Some CMS stuff
Config work and base classes
Making things more rigid with a few interfaces
Final changes