 <p>Your description does not really match with the Memento patttern. The whole point of Memento is that only instances of the class which is to be restored know anything about the representation of the memento. That is, Memento is about hiding state, rather than allowing clients to set arbitrary states.</p> <p>As Mark Cidade suggests above, there are other more appropriate patterns to use for your problem. </p>