It really feels like we want to accept the port instance as an option:

```js
function SidebarApp(options) {
  options = options || {};
  this.port = options.port;
```

This would really ease injecting a fake one, eg. for tests