Event.js handles events in a browser-independent manner. It can add or remove callback functions which are called when an event happens on a given page element. It can also stop propagating a given event from inside an event handler, and prevent a page element event from being handled by the default handler.
EventedObject is a simplistic yet highly useful Perl base class that allows you to attach event callbacks to an object (also known as a blessed hash reference) and then fire events on that object. Event fires are much like method calls. However, there can be many handlers, many return values, and many responses rather than just one of each. EventedObject is designed to be highly extensible and features callback priorities, dynamic adding and removing of callbacks, and more. It provides a whole new style of objective and event-driven programming in Perl.