Не факт, что методы будут в прототипе и instance это уже новый объект, а мы, по сути, расширяем методы уже существующего экземпляра, не теряя ссылку на него.
Можно так сделать, но думал, что можно без сохранения методов обойтись...
var obj = new Obj
var oldMethod2 = obj.method2;
obj.method2 = function(params) {
//Какие-то действия
return oldMethod2(params);
}