Events.implement({ addEventOnce: function(type, func){ this.addEvent(type, function(){ func(); this.removeEvent(type, arguments.callee) }) return this } })