It'd be nice if this included tenant_id, group, policy etc if they were available.

Probably the simplest way to do this is to close over some mutable state

```python

log = [log]

d = some_thing(log[0], stuff)

def eb(failure):
    log[0].msg("Non-fatal...")

def cb(result):
   log[0] = log[0].bind(result=result)

   return some_other_thing(log[0])

d.addCallback(cb)
d.addErrback(eb)
```

It's kind of ugly, but you generally want shared-mutable state to be ugly.