Apple decided to make this type of application extremely easy to write:
NSArrayController will hold on to an array of objects.
Bindings will eliminate much of the glue code that would be necessary to keep the model objects in sync with the views.
NSManagedObjectContext will observe the instance variables of your data objects, take care of undo for you, and take care of loading and saving the data.
So, the punchline is: Using Core Data and bindings, the RaiseMan application that you have written can be created with no code at all. In this section, you are going to write a simple Core Data application (not unlike RaiseMan) that has no code.