/// <inheritdoc/>
        protected override async Task PostAsync(IActivity item, bool state, CancellationToken token)
        {
            _stack.Reset();
            _botData.UserData.Clear();
            _botData.PrivateConversationData.Clear();
            _botData.ConversationData.Clear();
            await _botData.FlushAsync(token);

            await _botToUser.PostAsync("Profile Reset", cancellationToken : token);
        }
        protected async override Task PostAsync(Activity item, string state, CancellationToken token)
        {
            var message = item as IMessageActivity;

            if (message != null)
            {
                stack.Reset();
                var root = new RootDialog();
                await stack.Forward(root, null, message, CancellationToken.None);

                await task.PollAsync(CancellationToken.None);
            }
        }