Refactoring old ideas into new classes