Reworks the template system to be more OOP and less shit.