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.
Having thought more about this, if it doesn't make Serialization/Deserialization painful i'm fine with it.