Conway OOP Re-refactor