# OrderService publishes an OrderPlaced; the listeners run before publishEvent returns, on the same thread OrderService.place: publishing on main AuditListener.audit: received OrderPlaced[id=A-1, amount=42] on main AuditListener.counted: no parameter, still called OrderService.place: publishEvent returned