Switch to OOP
Going further with OOP
Going further with OOP part 2
Going further with OOP part 3
Going further with OOP part 4
Finish OOP refactoring, needs testing