Commence refactoring old code for extensibility