Cache client objects in reactor.

If you have a lot of events the current system of loading all clients on each event doesn't work-- because it loads all runners (for example).