public IEnumerator UpdateCardGame(CardGame cardGame)
        {
            if (cardGame == null)
            {
                cardGame = Current;
            }

            Progress.Show(cardGame);
            yield return(cardGame.Download());

            Progress.Hide();

            // Notify about the failed update, but otherwise ignore errors
            if (!string.IsNullOrEmpty(cardGame.Error))
            {
                Debug.LogError(DownloadErrorMessage + cardGame.Error);
                Messenger.Show(DownloadErrorMessage + cardGame.Error);
                cardGame.ClearError();
            }

            cardGame.Load(UpdateCardGame, LoadCards);
            if (cardGame == Current)
            {
                ResetGameScene();
            }
        }