/// <summary>
        /// Initializes a new instance of the <see cref="OrderTaskFlowButtonsPresenter"/> class.
        /// </summary>
        /// <param name="view">The view.</param>
        /// <param name="merchantOrderManager">The merchant order manager.</param>
        /// <param name="orderSecurity">The order security.</param>
        /// <param name="paymentProviderFactory">The payment provider factory.</param>
        public OrderTaskFlowButtonsPresenter([NotNull] IOrderTaskFlowButtonsView view, [NotNull] MerchantOrderManager merchantOrderManager, [NotNull] MerchantOrderSecurity orderSecurity, PaymentProviderFactory paymentProviderFactory)
        {
            Assert.ArgumentNotNull(view, "view");
            Assert.ArgumentNotNull(merchantOrderManager, "merchantOrderManager");
            Assert.ArgumentNotNull(orderSecurity, "orderSecurity");

            this.view = view;
            this.view.SmartPanelClosed += this.SmartPanelClosedHandler;
            this.merchantOrderManager   = merchantOrderManager;
            this.orderSecurity          = orderSecurity;
            this.paymentProviderFactory = paymentProviderFactory;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="OrderTaskFlowButtonsPresenter"/> class.
        /// </summary>
        /// <param name="view">The view.</param>
        /// <param name="merchantOrderManager">The merchant order manager.</param>
        /// <param name="orderSecurity">The order security.</param>
        /// <param name="paymentProviderFactory">The payment provider factory.</param>
        public OrderTaskFlowButtonsPresenter([NotNull] IOrderTaskFlowButtonsView view, [NotNull] MerchantOrderManager merchantOrderManager, [NotNull] MerchantOrderSecurity orderSecurity,  PaymentProviderFactory paymentProviderFactory)
        {
            Assert.ArgumentNotNull(view, "view");
              Assert.ArgumentNotNull(merchantOrderManager, "merchantOrderManager");
              Assert.ArgumentNotNull(orderSecurity, "orderSecurity");

              this.view = view;
              this.view.SmartPanelClosed += this.SmartPanelClosedHandler;
              this.merchantOrderManager = merchantOrderManager;
              this.orderSecurity = orderSecurity;
              this.paymentProviderFactory = paymentProviderFactory;
        }