Split the event notification into two layers.
Merge branch 'dev' into refactor_service