Massive Till style refactor of everything. Tests havnen't been replaced yet.