A sort of abstract object, that doesn't persist, but only exists for as long as the client uses it. And the data storage doesn't contain that object, it contains the items that the object consists of and the pattern for building such objects. That means you can change out the items, and the next time you build the object, it looks different.