actually, no, you're semi-right here.. on subsequent calls `this.ending` would be made `true`, *but*, on the first call, if there isn't a `callback` then `this.ending` needs to be truthy regardless. So perhaps:

```js
if (callback) this.ending = callback
else if (this.ending == null) this.ending = true
```

Also, no semicolon, pretty please.