Or now that I think about it more I would go as far as:

On the client

```js
let { client } = require("sdk/event/bus");
let hello = client("path/to/module#hello");
hello("world").then(console.log);
```

And host:

```js
let { host } = require("sdk/event/bus");
host(module);

exports.hello = function(name) {
  return "Hello " + name
};
````