Ah yes I missed that.

So I [updated the client](https://github.com/flynn/discoverd-ruby/commit/4ca26cf) to spawn a thread to watch for it being unregistered (because the registration doesn't have a reference to the client, just the rpc_client), but this has introduced a race condition on Rubinius, so I need a Mutex, which makes me think this is not a great implementation.

It got me thinking that maybe we should be passing `Discover::Client` around rather than `RPCClient` (so we could reference it here), and just delegate the request method to the rpc client, wdyt?