tasks/datadriver.js
function(cb, param) {
            return function() {
                var args = Array.prototype.slice.call(arguments, 1);

                if(typeof param !== 'undefined') {
                    args.unshift(param);
                } else if (arguments.length === 1) {
                    args.unshift(arguments[0]);
                }

                args.unshift(null);
                cb.apply(null, args);
            };
        }
function(cb, param) {
            return function() {
                var args = Array.prototype.slice.call(arguments, 1);

                if(typeof param !== 'undefined') {
                    args.unshift(param);
                } else if (arguments.length === 1) {
                    args.unshift(arguments[0]);
                }

                args.unshift(null);
                cb.apply(null, args);
            };
        }
helper function for asyncjs