We currently have two message-bus like concepts; actions and notifications. For widespread use to interconnect components this needs to be made a little more generic, which would greatly help to reduce tight coupling between components through API.
The QML API for the bus could look very much like the action system:
Message {
messageType: Message.Mail.ReplytypeId someRandomProperty: ""
}
Bus.post("mail", message)
Listener {
name: "mail" onMessage { //Do stuff with message }
}