My theory is that the options will be given by the test:

```js
// not 100% sure of the syntax but for example:
marionette('do stuff', { host: 'fiefox', options: { prefs: {} } ] }, function() {
});
```

And that the metadata will always be set by the "host" itself... A good example is the "device" host might be configured to support tests that require sim cards.

```js
function DeviceHost(options) {}
DeviceHost.prototype.metadata = { sim: true }
```