Hey, great library!
Hoever, I found if you call addRequest from with a callback you get a infinite loop, as the outstanding_requests is not removed until the callback function has returned. If you were to switched this around, so the outstanding_requests is unset beforehand, it would allow addRequest then finishAllRequests to be called within the callback function.
I have modified this locally, I can send it as a p/r if you wish.
Thanks