Interesting way of looking at it. The way I’ve usually seen it is by modeling events more like “classes” where an event has a “type” and can inherit other “types” or “interfaces”. So if you want a notification to go out with a domain event, it must implement the “notify” interface.<p>Commands don’t belong on an event bus though, IMHO. Commands are method calls (or RPC) not messages.