Remove unnecessary player-controller differentiation.
Make Screen superclass methods (Update and Draw) abstract rather than virtual.
Create a state stack.
Move some code from LoadContent to Initialize and the constructor.
Pass Game1 to the screens rather than its ContentManager.
Move the Screens out of Game1 and into their actual parent screens.

This lets all of the components stay relatively decoupled from eachother.
Rename Screen to GameState (and *Screen classes to *State classes)
Convert GameState to an interface
Add an ExitState to simplify some checks.

The ExitState remains at the bottom of the state stack. When the
last state is popped, the ExitState takes over and closes the program.
Organize models and states into folders.
Move GameState.cs back outside the subfolders
Forgot to commit the modified project file with the new paths.
Replace the velocity floats in Ball.cs with a Vector2.
Refactor a SimulationView out of SimulationState.
Remove _graphicContent from SimulationState.

Content.Load<> caches resources so we don't have to. Multiple
attempts to load the same resource will only result in a single
disk read.
Refactor SimulationState into a SimulationView and an associated Simulation model.
Forgot to save project manifest.
Merge pull request #21 from comp380team3/castello-architecture

Implement major architectural points
New Menu Part 1 (not done yet)

The new menu system for Puzzle Path. This is just the first step for integration with the other parts of the project. This was build off the Microsoft Game State Template.
Change the .csproj file to include the new files.
Uh, we got stuck.
Forgot stuff.
Rename menus folder