What about squashing `send-version` and `start` like this?
```
case "start":
  req = client.createRequest("host:version");
  socket.send(req);
  state = "wait-version";
```