> the only reason tick isn't a private method (and the reason it returns events) is for testing purposes, is that right?

Yes, that is just my style.

If you prefer, now `tick` can become private and be tested through `run`.