Lock-free async event bus. Listeners register once; emissions iterate a frozen snapshot under a single RwLock read.
RwLock