The game root is basically the whole game state at a given point, combining all important classes. We don't have globals, but this class is passed to almost all game classes.
Constructs a new game root
Destructs the game root
Prepares the root for game over, this sets the right flags and detaches all signals so no bad stuff happens
Resets the whole root and removes all properties