introducing BaseComponent.destroy(); is_bound to see if an event is already bound (using fn.toString for comparison); bind_once (similar to require_once() in php, but for event handling);