A context for panels that's provided when the Panel is attached by the system UI.
A Panel can require a specific context. The panel container provides this context. Every panel requires at least the CommonPanelContext, since this contains system wide responsibilities. Requiring additional context, like NavigablePanelStackContext, gives access to additional features. It can also limit the set of panel containers that you can use, since not all panel containers provide this context.
The type of panel context is determined by the panel type. A panel type is the first subclass of Panel. This is an important choice, since all panels of this panel type share the same panel context type.