Are you sure that's the correct first argument? seems weird to set the this reference to the function object. maybe we want .apply(this, args)?