The ScreenManager has a bottom up list of screen objects that are all active. You basically use ScreenManager.AddScreen() to put on a new 'layer'.
Say you have 3 screens:
1. Background screen
2. Game screen
3. Menu screen
You would like the background to be in the back, so you would create a BackgroundScreen class that draws a texture to the screen. It should inherit from GameScreen as it has all the necessary methods for drawing, updating and handling inputs.
Then you create your game screen that contains the actual game. It also inherits from the GameScreen class and uses the HandleInput method to handle the character and stuff like that.
Then you have the menu where you can choose options, exit or resume game.
You then simply add the screens one by one on top of each other. The reason we have a screensystem like this, is so that we can control what screen to update, depending whether it has something on top of it or not. Example: The game screen should not keep
playing when the menu screen is overlapping it, and that is why you can check 'otherScreenHasFocus' and 'coveredByOtherScreen' booleans inside the Update() method from the GameScreen class.
Snoop around the code a bit and get familiar with it.