Distributed systems primitives for Ruby with Celluloid and Etcd