Nathan's refactored TicTacToe