I think you can just wrap arguments like so:

```
def stream(self, ...,
           on_disconnect=None):
```

`self` underneath `stream(` looks a bit bizarre to me.