I don't know whether it is a good idea to make `ClusterInfo` as a struct.
It seems that it has some independent API, but it is a small one and isn't reused anywhere.