Types
A screen is a single layer that has update and draw logic, and which
can be combined with other layers to build up a complex menu system.
For instance the main menu, the options menu, the "are you sure you
want to quit" message box, and the main game itself are all implemented
as screens.
The screen manager is a component which manages one or more GameScreen
instances. It maintains a stack of screens, calls their Update and Draw
methods at the appropriate times, and automatically routes input to the
topmost active screen.
Enum describes the screen transition state.