This complexity should be hidden from our calendar app. Abstractly, I would prefer for the interface to look like

```
var requestGroup = requestGroup(function sandbox() {
  // Make a few caldav requests
});

requestGroup.abort();  // Should abort all requests made in the sandbox
```