code: function(options) {
      options =  options || {};
      var fns = [
        _.bind(this.preDelete, this, _.clone(options)),
        _.bind(PromisedModel.prototype.destroy, this, options),
        _.bind(this.afterDelete, this, options)
      ];
      return sequence(fns)
        .then(function(results) {
          return results[1];
        }, _.bind(failWithError, null, options));
    }
docs: ## BaseModel.prototype.destroy
  
  fetch extends backbone-blueprint's destroy by adding calls to lifecycle methods
  
  @param {Object} options Options for destroying
  @returns {Promise} promise