Re-writing Tic Tac Toe with SOLID principles in mind