public InputRespondedProcessState(InputWorkflow workflow,
                                          InputRequest request,
                                          InputResponse response,
                                          Action <MessageReceivedEventArgs <InputMessage> > inputFinishedCallback)
        {
            this.Workflow = workflow;
            this.Request  = request;
            this.Response = response;

            this.Interceptor = new MessageInterceptor <InputMessage>(this.Workflow.Dialog,
                                                                     new MessageFilter(this.Request.Id),
                                                                     (MessageReceivedEventArgs <InputMessage> e) =>
            {
                inputFinishedCallback(e);
            });

            this.Workflow.SendResponse(this.Response,
                                       () =>
            {
                this.Workflow.Dialog.SendResponse(response);
            });
        }
 public InputRequestedProcessState(InputWorkflow workflow, InputRequest request)
 {
     this.Workflow = workflow;
     this.Request  = request;
 }