@blackhacker глобальный объект создается один раз. Можно не переопределять его прототип, а просто присвоить метод экземпляру уже созданного объекта.
Тут сложность в том, чтобы создать функцию, которую можно вызывать без _call
Для этого функция должна иметь последним аргументом callback и передавать его в последнюю асинхронную функцию обернув в _get_function_body
this.load_old = this.load
this.load = function(url,ref,callback){
this.load_callback = callback
this.load_url = url
header('Referer', ref)!
load_old(this.load_url, _get_function_body(this.load_callback))
}
После выполнения следующего кода, можно вызывать
load("https://www.whatismyreferer.com/","google")!