This API twists my brain I had to read this code 7 times to actually understand what's going on. Please do something little more obvious for the reader. I don't know what maybe something like:

```js
test({
  isReady: (window, events) => event.length === myNum,
  onReady: function(assert, window, events) {
     // actualy assertions
  }
})
```

Maybe something different but something that can be guessed without reading `test` decorator function.