rem: ret = element["on" + type] = undefined; delete events[type]; 
add: ret = element["on" + type] = null; delete element.$events[type]; 
context: 	remove: function(element, type, handler) {		var events = element.$events, ret;		if ( events ) {			// type is actually an event object here			if ( type && type.type ) {				handler = type.handler;				type = type.type;			}						if ( !type ) {				for ( type in events )					this.remove( element, type );			} else if ( events[type] ) {				// remove the given handler for the given type				if ( handler )					delete events[type][handler.guid];								// remove all handlers for the given type				else					for ( handler in events[type] )						delete events[type][handler];				// remove generic event handler if no more handlers exist				for ( ret in events[type] ) break;				if ( !ret ) {					ret = element["on" + type] = undefined;					delete events[type];				}			}			// Remove the expando if it's no longer used			for ( ret in events ) break;			if ( !ret )				delete element.$events;		}	},
meta: 5264	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5264/fe1910d4d9f547774cb26f4770b303635333f8e6/event.js/buggy/src/event/event.js