Reworked everything to work with PSR-4.