So far, the applications we’ve built in this book all have one major shortcoming in common: each of them acts in sort of an all-or-nothing way. We’ve either got a particular piece of data in the one backing store that the application is using (if it’s using one at all), or we don’t have it anywhere. None of them has any notion of letting us split our data into the discrete, unrelated storage units that we call “documents.” Although having everything in a single database is good for some purposes, for others it’s a huge hindrance. What if we want to share just a part of our data with someone else? What if we want to be able to view details for two or more of the same kind of Core Data entity, in multiple windows beside one another, to be able to compare them? Most people are familiar with these possibilities from using almost any modern application where multiple documents can be open simultaneously and where actions applied to one don’t affect the others.