index.js
function(provides) {
		if (_.isArray(provides)) {
			this._arguments = this._provides = (!this._provides) ? provides : this._provides.concat(provides);
		} else {
			this._provides = _.extend({}, this._provides, provides);
			this._arguments = _.map(this.deps, function(key) {
				return this._provides[key];
			}, this);
		}
		return this;
	}
function(provides) {
		if (_.isArray(provides)) {
			this._arguments = this._provides = (!this._provides) ? provides : this._provides.concat(provides);
		} else {
			this._provides = _.extend({}, this._provides, provides);
			this._arguments = _.map(this.deps, function(key) {
				return this._provides[key];
			}, this);
		}
		return this;
	}
Registers dependencies that can be provided to the function
@param  {Object|Array} provides map of key: value pairs or an array of values
@return {Wrapper} this instance