introducing CollectionProxy for tracking in-place collection changes