I'd suggest simplifying this by writing:

```
private
def broker
  @broker ||= GoFishBroker.new
end
```

And using it in join, create, etc.  Self-encapsulation and lazy initialization wrapped up into one for DRY code.