EventDispatcher
Corex\Events\EventDispatcher · class · Core layer
Dispatches an event to every listener registered for its class, once each, in registration order. Dispatch is best-effort: a throwing listener is caught and logged, and the remaining listeners still run (spec FR-012a, SC-008). The shared seam lives in corex-core so any module — forms, Corex Mail — reuses it.