why not simply:

```javascript
// message can be null if we're done
message = (this.message !== undefined) ? this.message : this.cursor.message;
```

?

Later I guess we could use `this.done` to know if we're done.

Note that I prefer if we use `this` instead of `request`, to minimize variable capturing in the closure.