I know this is an old post, but it is good to learn new things!
Using the not-equal to test which element of an array of clusters has changed is great! I did not think to do it this way, and would have instead unbundled all the elements out of the cluster into their own array and then tested that to see what has changed.
Excellent tip!!!