Is it really necessary to go through this whole process again for this second connection? Since the geolocation client doesn't connect until the main simulator client is connected, and the main simulator client already determines that the server is ready by telling it to list tabs and waiting for a reply, it seems like the only thing this client should need to do is connect to the server.

(I'm still unsure why we need a separate client at all; but if we do need it, then we should still avoid making it do any unnecessary work.)