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.
Mbassador is a very lightweight message (event) bus implementation following the publish-subscribe pattern. It is designed for ease of use and aims to be feature rich and extensible while preserving resource efficiency and performance. It offers annotation-driven configuration (and thus imposes no structural dependencies into client code), synchronous and asynchronous message delivery (configurable for each message publication and listener), weak references to registered subscribers (no memory leaks possible), message filtering based on custom filters configured via annotations, clean error handling mechanisms, very high throughput, and strong support of concurrent access.
cqueues is a comprehensive event and networking library for Lua 5.2 and LuaJIT using modern Unix O(1) polling facilities. It includes libraries for buffered socket I/O, SSL/TLS sockets, DNS querying, signal handling, threading, file change notification, and X.509 key management. It natively supports Linux, *BSD, OS X, and Solaris systems without third-party dependencies, and is interoperable with any event loop that accepts plain descriptors, or is usable standalone.