Raise exceptions and return event objects when publishing events