public async Task ProcessMessage(Message inputMessage, string orderId)
        {
            _orderId = orderId;
            var order = await _db.GetCurrentOrder(_orderId);

            List <ModelResult> numberResults;
            bool   isConfirming;
            double confirmingConfidence;

            //To multithreading? Or Task?
            inputMessage.CheckOnNumber(out numberResults);
            inputMessage.CheckConformation(out isConfirming, out confirmingConfidence);
            var processedStaged = false;

            // If the confidence is high enough it could be that the user is confirming.
            if (confirmingConfidence > 0.5 && order.StagedOrderDetails.Count > 0)
            {
                UpdateBasedOnConfirmation(isConfirming, confirmingConfidence);
                await _orderDialogResponseBuilder.Acknowledgement(isConfirming, confirmingConfidence);

                processedStaged = true;
            }
            // Determine which response to use. If found numbers respond to the numbers.
            if (numberResults.Count > 0)
            {
                UpdateBasedOnRecievedNumbers(numberResults, inputMessage.Words);
                await _orderDialogResponseBuilder.ImplicitConfirmation(numberResults, inputMessage.Words);
            }
            // Prompt for something else
            if (order.StagedOrderDetails.Count == 0 && processedStaged)
            {
                _orderDialogResponseBuilder.Prompt();
            }
            else if (!isConfirming && confirmingConfidence > 0.9 && !processedStaged)
            {
                _orderDialogResponseBuilder.FinalizePrompt();
            }
            else if (isConfirming && !processedStaged)
            {
                _orderDialogResponseBuilder.FillPrompt();
            }

            // If there are none numbers found and user isn't confirming default resposne.
            if (numberResults.Count == 0 && confirmingConfidence < 0.5)
            {
                _orderDialogResponseBuilder.DefaultResponse();
            }
        }