Argh... I've just seen/remember that Cliff already gives an answer to a similar approach in the past:
The problem is that you can't guarantee that notification constants aren't in conflict across modules. Particularly in a situation where third-party modules are provided. A core's message space is its own. That' why pipes has a message facility that can pass between modules safely.
So I have to make sure that a notification constant is unambiguous across all cores!
Are there any other concerns?