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.
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.