private void undoGameStateChange(GameStateChange gameStateChange) {
		if (gameStateChange instanceof Move) {
			Move move = (Move) gameStateChange;
			ChessPiece chessPiece = move.getChessPiece();
			if (move.getDestination() == null) {
				game.addChessPiece(chessPiece, move.getStart());
			} else {
				Location destination = move.getStart(); // start since undoing
				chessPiece.move(destination);
			}
		} else if (gameStateChange instanceof Termination) {
			game.setInProgress(true);
		}
	}