Function.prototype.bindAsEventListener = function (context) {
	var __method = this, args = slice.call(arguments, 1);
	return function(event) {
		var a = update([event || window.event], args);
		if(!('currentTarget' in a[0]))
			a[0].currentTarget = this;
		return __method.apply(context, a);
	}
};

