an event hub and dispatcher