public Game CreateNew(RepositoryDelegates.SaveGame saveGame)
 {
     var game = new Game
     {
         Id = Guid.NewGuid(),
         Moves = new List<GameMove>()
     };
     saveGame(game);
     return game;
 }
 public void AssignGameStatus(Game game, RepositoryDelegates.SaveGame saveGame)
 {
     var isGameOver = _gameStatusSpecifications.IsGameOver(game);
     game.IsGameOver = isGameOver;
     saveGame(game);
 }
 public void AssignMove(Game game, GameMove gameMove, RepositoryDelegates.SaveGame saveGame)
 {
     game.AddMove(gameMove);
     saveGame(game);
 }
 public void AssignMove(Game game, Enums.PlayerType owner, BoardPosition boardPosition, RepositoryDelegates.SaveGame saveGame)
 {
     var gameMove = _gameFactory.CreateFrom(owner, boardPosition);
     AssignMove(game, gameMove, saveGame);
 }