lib/chain.js
function Chain(val, name) {
    if (!(this instanceof Chain)) return new Chain(val, name);

	this._val = val;
	this._name = name;

	this.clear();

	return this;

}
function Chain(val, name) {
    if (!(this instanceof Chain)) return new Chain(val, name);

	this._val = val;
	this._name = name;

	this.clear();

	return this;

}
function Chain ( val , name ) { if ( ! ( this instanceof Chain ) ) return new Chain ( val , name ) ; this . _val = val ; this . _name = name ; this . clear ( ) ; return this ; }
Creates a chain instance

@constructor
@this {Chain}
@param {!Object} val The value the chain is focused on
@param {string} name A human-readable name of the value
Creates a chain instance