code: function(options, callback) {
  
                  if (options instanceof Function) {
                      callback = options;
                      options = undefined;
                  }
  
                  options = options || {};
                  _.defaults(options, {
                      couponRemovedEvent: "on:couponRemoved"
                  });
  
                  this._triggerBasketUpdating();
                  var self = this,
                      basket = this.$.basket;
                  var couponCount;
  
                  flow()
                      .seq(function (cb) {
                          basket.fetch({noCache: true}, cb);
                      })
                      .seq(function (cb) {
                          couponCount = basket.get("coupons.size()");
                          self.fetchBasketCoupons(cb);
                      })
                      .seq(function(){
                          if (basket.get("coupons.size()") < couponCount) {
                              self.trigger(options.couponRemovedEvent);
                          }
                      })
                      .exec(function (err, basket) {
                          self._triggerBasketUpdated();
                          callback && callback(err, basket)
                      })
              }
docs: *
  
  @param options
  @param callback