Rebuilt everything based on the new specs

Class/file dependancies are now correctly applied.

I went ahead and stubbed out the classes and their dependancies for now.
These will next go through prelim documentation. I want to get the docs
started now so we don't have to do them in the future. It is the next
step to be done. Since the heirarchy seems correct now we can also move
on to building the actual functionality. We basically now have the
supports in place to start moving forward.