so after looking at more context I guess I'm expecting something like this rather than a constructor and prototypes and bind:

```
  init: function() {
    var self = this;
    streams.subscribe({
        handler: function(event) {
           self.receive(event);
        },
       filter: function(event) { /* whatever */ return true; }
    });
```

Or even, implement handler and filter on Connection itself and just pass the whole connection to streams? streams should then be calling .handler and .filter with the proper `this` unless it's broken.
Any `bind` should be done in the streams code, because that's the code that's "losing" the this reference (if it is).