TicTacToe - refactor and documentation