When working with ArrayCollections and Collection Event handlers don’t forget to removeAll() on ArrayCollections that are copies of the changed ArrayCollection.
Seems simple but it can lead to some major hair loss when your UI doesn’t seem to work when your collection change.
So if you are changing an ArrayCollection and another ArrayCollection is depending on those changes make sure you removeAll() and then set the value to the the changed collection.