refactor(etcd): break apart client driver loop