In the Admin application, the
Provider pattern is used alongside
Contexts in order to grant child/wrapped components access to the managed states, as well as centralizing actions that affect or manipulate
Contexts. In particular, there exists a set of global provider components that are necessary for the basic functions of the Admin application. These are components that should exist and be accessible for any route.