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