We could put in a separate diff but this PR depends on this changes. `publishEvents*` methods use these them.