Putting the etcd logic into its own project for extensability