Refactored event publishing APIs