This code in general seems to have problems if we fail for instance in a `ClusterStateListener` and I think we should harden it... maybe we can wrap the `clsuterChanged` in a try / catch block?