More refactoring. More OOP.