code: function(queue, cb) {
  		var i = 0, length = queue.length;
  
  		if (typeOf(cb) !== 'function') {
  			cb = function() {};
  		}
  
  		if (!queue || !queue.length) {
  			cb();
  		}
  
  		function callNext(i) {
  			if (typeOf(queue[i]) === 'function') {
  				queue[i](function(error) {
  					/*jshint expr:true */
  					++i < length && !error ? callNext(i) : cb(error);
  				});
  			}
  		}
  		callNext(i);
  	}
docs: Recieve an array of functions (usually async) to call in sequence, each  function
  receives a callback as first argument that it should call, when it completes. Finally,
  after everything is complete, main callback is called. Passing truthy value to the
  callback as a first argument will interrupt the sequence and invoke main callback
  immediately.
  
  @method inSeries
  @static
  @param {Array} queue Array of functions to call in sequence
  @param {Function} cb Main callback that is called in the end, or in case of error