Semi-Final arrangement of some core structural classes for the project.

Let me know what you think. Mike and I worked out this as a good core structure.
Did you guys discuss the name of this with Victor? IUnique is an appropriate name for a unique item, but it's not great for an item that we consider to be our data model.