[ WIP] Implementing Cluster State Changes

Based on servers in the cluster changing types, the cluster's state needs to change and take appropriate action based on the server's new type.

Do not merge, still in progress.