polyfill for ES5 function binding
ES5 function binding used in method elevation