The memento behavioral pattern allows you to save and later restore the state of an object even without full access to all properties.
See All 304 Episodes of "Take Up Code"