public PushShipmentsCommandLine(IDropShipFinder dropShipFinder)
        {
            _dropShipFinder = dropShipFinder;
            IsCommand("push-shipments");

            HasOption("d|dropshipper=", "Drop Ship Handle", dropshipper => _dropShipperHandle = dropshipper);
        }
        public GatherPurchaseOrdersCommandLine(IDropShipFinder dropShipFinder, IPurchaseOrderGather purchaseOrderGather)
        {
            _dropShipFinder = dropShipFinder;
            _purchaseOrderGather = purchaseOrderGather;
            IsCommand("gather-purchase-orders");

            HasOption("d|dropshipper=", "Drop Ship Handle", dropshipper => _dropShipperHandle = dropshipper);
        }
        public ProcessShipmentsCommandLine(IDropShipFinder dropShipFinder, IShipmentProcess shipmentProcess)
        {
            _dropShipFinder = dropShipFinder;
            _shipmentProcess = shipmentProcess;
            IsCommand("process-shipments");

            HasOption("d|dropshipper=", "Drop Ship Handle", dropshipper => _dropShipperHandle = dropshipper);

            SetDropShipper();
        }
        public GatherShipmentsCommandLine(IDropShipFinder dropShipFinder, IShipmentGather shipmentGather)
        {
            _dropShipFinder = dropShipFinder;
            _shipmentGather = shipmentGather;
            IsCommand("gather-shipments");

            //TODO
            //ExclusiveOption: WHY ARE WE NOT FUNDING THIS?!?!?
            //--RequiredOption  -- MUST be set
            //--Optional  --\
            //--Optional  -- > Only one of these three can be set
            //--Optional  --/

            HasOption("d|dropshipper=", "Drop Ship Handle", dropshipper => _dropShipperHandle = dropshipper);
            HasOption("po|purchase-order=", "Single purchase order", po => _request.SetPurchaseOrder(po));
            HasOption("date|for-date=", "Purchase order creation date", date => _request.SetOrderDate(date));

            SetDropShipper();
        }