Спасибо большое, отлично работает. Больше недели голову ломал, как это сделать, даже не подумал чот о встроенном объекте Function, хотя идея про обертку возникала, только не знал как реализовать.
Для удобства наверное сделаю автоматическую привязку
var handler = a.bind(obj);
внутри метода
obj.bind('click', handler);
--------------
эмм нет, не получится автоматической привязки, тогда всегда будет аттачиться функция с именем handler. Придется тогда перед attachEvent проверять, что нам пришло, если абстрактная функция, то автоматически делаем apply как было раньше, если имя функции, то так и передаем ее в attachEvent... а как проверить тип функции? %)