code: function(options) {
      var self = this;
  
      options = options || {};
  
      var error = options.error;
  
      var fns = [
        _.bind(self.preFetch, self, options),
        _.bind(PromisedModel.prototype.fetch, self, options),
        _.bind(self.afterFetch, self, options)
      ];
      return sequence(fns).then(function () {
        self.fetchStatus = 'fetched';
        return self;
      }, function (err) {
        if (error) error.call(options, self, err);
        return failWithError(options, err);
      });
    }
docs: ## BaseModel.prototype.fetch
  
  fetch extends backbone-blueprint's fetch by adding calls to lifecycle methods
  
  @param {Object} options Options for fetching
  @returns {Promise} promise