Repositories should first publish the domain events and then report the
operation state