More refactoring: Base classes