Cool. Last time I checked, `bind()` was really slow. (Although in reality, there's going to be very few collections in the request anyway so it probably doesn't matter). I'm going to merge this then tweak it. I think something like this would be better:

```javascript
var self = this;
var getSnapshot = function() {...};

async.each(Object.keys(requests), getSnapshot, callback);
```

I'm actually kind of surprised that async doesn't have anything for iterating over all the values in an object. It seems sort of obvious & useful.