public ExecutionResult MainMenuMessage(List <DrawGame> games, Player player)
        {
            var filteredList = games.Where(a => a.Metadata?.Category != Messages.MiniGames).ToList();

            if (filteredList == null)
            {
                filteredList = new List <DrawGame>();
            }
            List <string> options = new List <string>();

            options = filteredList.Select(a => a.GameName).ToList();
            options.Add(Messages.MiniGames);
            options.Add(Messages.ContactUs);
            options.Add(Messages.LoadGame);
            options.Add($"{Messages.Achievements} - ({AchievementService.CountAchievementsCompletedForGames(games, player)}/{AchievementService.CountTotalAchievements(games)})");
            var execResult = new ExecutionResult();
            var messages   = new List <MessageResult>();

            messages.Add(new MessageResult
            {
                Message = "All characters in this game are 18+! All characters are random, and not based on any pre-existing characters. These games feature adult content, including mild fetishes."
            });
            messages.Add(new MessageResult
            {
                Message = "Games Available:"
            });
            messages.AddRange(filteredList.Select(a => new MessageResult {
                Message = a.GameName + " - " + a.Metadata?.Description
            }));
            messages.Add(
                new MessageResult
            {
                Message = "Enter a game to play!"
            });
            execResult.OptionsToShow  = options;
            execResult.MessagesToShow = messages;
            return(execResult);
        }