Defines an object that holds persistent data about another object.
Storing an arbitrary object will consist of creating an appropiate
Persistence object for it and storing that one (via serialisation).
Restoring a previously saved object will consist of restoring the persistence
object and using the data it stores to create a new object that is as similar
as possible to the original object.