squash: separate proxy code from etcdserver