docs: function Loop(name, deps, fragment, loopFn, options) {
    if (!(this instanceof Loop)) {
      return new Loop(name, deps, fragment, loopFn, options);
    }
  
    Task.apply(this, Array.prototype.slice.call(arguments));
  
    this.fragment = fragment;
  
    this.loopFn = (_.isFunction(loopFn)) ? loopFn : function (input) { return [input]; };
    this.options = options || {};
  }