A gamestate class has to expose the available moves to a class that can run MCTS. Currently that is done using a vector of cards where the index is exposed to the MCTS algorithm. There is probably a better way to design this interface