public void Actuate(IGameState gameState) { _gamePage.Update(gameState); if (gameState.Won && !gameState.KeepPlaying) { _keepPlayingHandler(); } if (gameState.Over) { Action cleanup = null; Action restart = () => { if (null != cleanup) { cleanup(); } _restartHanlder(); }; var gameOverOptions = new GameOption[] { new GameOption("Restart", restart) }; cleanup = ShowOptions(false, "Game Over!", gameOverOptions); } }