Perhaps their visibility could be checked whenever they're active, so that if a PanelContainer is on top the nodes below the stack are ignored, i.e. the nodes below either toggle the PanelContainer's mouse_filter and mouse_behavior_recursive properties, or Area2D's properties (monitoring, monitorable, mask, or layer).