FInstanceAttributeTracker

Tracks changes for instances, but that assumes storing stuff per index except the removed status which must be kept ID-based Removed items are tracked by ID and kept separate as we need to remember if an item was ever removed in order to handle these correctly.