code: function (tasks, callback) {
      if(typeof callback !== 'function'){
        return new Error('Second argument to ordenado must be a callback function');
      }
      if (!_isArray(tasks)) {
        var e = new Error('First argument to ordenado must be an array of functions');
        return callback(e);
      }
      if (!tasks.length) {
        var er = new Error('ordenado expects at least one task (function) to run');
        return callback(er);
      }
      var wrap = function (iterator) {
        return function (err) {
          if (err) {
            callback.apply(err, arguments);
          } else {
            var args = Array.prototype.slice.call(arguments, 1);
            var next = iterator.next();
            if (next) {
              args.push(wrap(next));
            } else {
              args.push(callback);
            }
            setTimeout(function () {
              iterator.apply(null, args);
            },0);
          }
        };
      };
      wrap(iterator(tasks))();
    }
docs: ordenado accepts two parameters:
  @param tasks - an array of functions to be executed in order
  @param callback - the callback function that will be called once!