AI player logic
For storing boards in the AI tree, stores board with score for comparisons
Root-level structure for managing the game as a collection of board states
Represents a move by source/destination indices and the move type