There should be built in support to handle saving/loading state when the app is terminated/suspended/closed by the OS.
This is something that practically all apps needs to deal with, and at least Apple requires that an app can restore state when it is resumed.
I'm not sure exactly what the best way to do this would be, perhaps attributes similar to DataContract would be the way to go, then the framework could automatically save all attributed classes when needed, and then automatically restore them when resuming.