I think it makes sense to have the registry-driven ClusterState live in the registry/ package. The negotiator talks to it through an interface, so its already separate.