Ok i think i see what your saying. One thing springs to mind how would you store these snapshot objects without a container object?
If you modify your enitity to be a container then it wont be an entity anymore.
I dont see why you cant use the BindingList<> class to do something similar.
(tell me if i totally got the wrong end of the stick lol)