Make it easy to reply game events
This is to address comments outlined below:
Right now, doing so is quite complex. You could do it by recording a copy of the game state on your every move, then looking back on history and reconstructing the game state from the events. There are a few problems with that:
You have to hack the events using toString, as James mentioned
The number of events between consecutive moves by a player is not constant (as a Tell action leads to a single event, but a Play or Discard leads to 2 events - the action itself and drawing a new card)
In case my agent is not the one who plays first, it is not clear how to reconstruct the state at the start of the game
An easy fix would be to be able to query the game handler for the game state (from the perspective of the current player) at the start of the game. Then you could reconstruct the whole sequence of states by applying the events. A more complex fix would be for each turn in the game to be indexed, and for there to be both a list of game states (from the perspective of each player) and a list of events, indexed by game turn.