export type EventHandler = (event: Record) => void; export class EventBus { private subscribers = new Set(); subscribe(handler: EventHandler): () => void { this.subscribers.add(handler); return () => { this.subscribers.delete(handler); }; } publish(event: Record): void { for (const handler of this.subscribers) { handler(event); } } }