Major refactoring to make layout and everything a bit more sane; switch to PSR-4