A Function.prototype.bind better alternative