I think this is a bug that likely results in a race condition. Every time we hit this `_processBindQueue()`, `isWorking === true`. Which means every time we invoke this, even if there actually are more items in the queue, we don't continue to the next item.

I think you just need to put `isWorking = false` right before this `_processBindQueue`.

Funny thing is I fell into the exact same trap just the other day when using this processing pattern in Cowboy: https://github.com/mrvisser/node-cowboy/blob/master/lib/internal/processing-queue.js#L16 :)

Also transferring the callback onto `todo` breaks its `this` object, but we don't tend to use that any way so it's probably not a big deal.