useReducer and useContextShould we expose reducers? probably not expose internal state
Session state context will handle single state (GraphiQL style) and eventually will have a multi-session state wrapper (Tabs, etc).
editors - an object map of editors.variables, editors.operation and for results, to directly access the monaco editor instance. there is only one each for all sessions, as each session just loads a new model into the relevant editor instanceoperation - File object with { text, uri }variables - File object with { text, uri }results - File object with { text, uri }