Control nodes constrain elements to a specific area on the screen.
A CanvasLayer decides if its node children will be put infront or behind other nodes.
Because UI elements are typically shown infront of everything else, it makes sense to have a CanvasLayer and all the menus and extensive displays as its children.