Added in my ideas and a rough UML.  The pdf shows all the basics, and the UML expands on it (the UML is more up to date, so it fixed a couple of issues with the original design).