private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result)
        {
            var activity   = await result as IMessageActivity;
            var playerName = Utils.SanitizeText(activity.Text);

            if (await LeaderboardService.IsNewPlayer(playerName))
            {
                context.ConversationData.SetValue(Constants.PLAYER_NAME_KEY, playerName);
                await context.PostAsync($"Let's play and earn some coins!");

                await context.Forward(new WhoIsDialog(), AfterWhoIsDialog, activity);
            }
            else
            {
                await context.PostAsync("This address has already been used.");

                context.Wait(MessageReceivedAsync);
            }
        }