class_docstr: Internal state management class that controls when `_process` is called
  within the C++ Table internals.
  
  `_process()` notifies the engine to clear its queue of pending updates to be
  applied and reconciled. When Perspective runs within an event loop, we
  should use the loop whenever possible to batch calls to `_process()`.
  Callers that have access to an event loop implementation should set
  `queue_process` to their own function with `table_id` and `state_manager` as
  positional arguments.
  
  Override functions must be bound to this instance using `functools.partial`,
  i.e.: `functools.partial(queue_process_custom,
  state_manager=table._state_manager)
  
  The guarantee of `queue_process` is that `call_process` will be called,
  either on the next iteration of the event loop or before output is generated
  (through a serialization method, for example).
  
  Though each :obj:`~perspective.Table` contains a separate instance of the
  state manager, `TO_PROCESS`, which contains the `t_pool` objects for pending
  `_process` calls, is shared amongst all instances of the state manager.
docstr: Create a new instance of the state manager, and enable the default behavior
  of calling `_process()` synchronously.
  
  New instances of :obj:`_PerspectiveStateManager` have no awareness of whether
  an event loop is present - the instance's `queue_process` method must be
  overridden.
docstr_tok: ["Create","a","new","instance","of","the","state","manager",",","and","enable","the","default","behavior","of","calling","`","_process","(",")","`","synchronously",".","New","instances","of",":","obj",":","`","_PerspectiveStateManager","`","have","no","awareness","of","whether","an","event","loop","is","present","-","the","instance","'s","`","queue_process","`","method","must","be","overridden","."]
code: def __init__(self):
      """Create a new instance of the state manager, and enable the default behavior
      of calling `_process()` synchronously.
  
      New instances of :obj:`_PerspectiveStateManager` have no awareness of whether
      an event loop is present - the instance's `queue_process` method must be
      overridden.
      """
      self.queue_process = self._queue_process_immediate
  
label_desc: Use image node_id 1 to create a new _PerspectiveStateManager object from inherited base classes: object with example: obj = _PerspectiveStateManager()