New event bus model

Instead of registering events by name and doing reflection, use ValueBuilders.