Alternatively you could change API `test` API again to something like:

```js
test({
  tabs: Set(),
  filter: ({ tabs, event }) => tabs.has(event.target)
  takeWhile: ({ actual }) => actual.length === n,
  start: function({ tabs }) => {
    tabs.add(utils.openTab(window, 'data:text/plain,Tab-1'));
  },
  end: ({ assert, window, actual }) => {
    // run tests
  }
});
```