<p dir="ltr">I might also recommend looking at AnyEvent::MP for an architecture involving many cooperating modules and processes that need to signal events and callbacks between each other.</p>