> I find the "pass reactor as 1st argument to everything" API pattern > messy. I'm sure there's a good reason. What is it? 1. Supporting multiple reactors. 2. Unit testing: if you have an explicit object, you can replace it more easily with a fake.