docs: def to_dict(self):
          """Return this Context as a dict suitable for json encoding."""
          import copy
  
          options = copy.deepcopy(self._options)
  
          if self._insert_tasks:
              options['insert_tasks'] = reference_to_path(self._insert_tasks)
  
          if self._persistence_engine:
              options['persistence_engine'] = reference_to_path(
                  self._persistence_engine)
  
          options.update({
              '_tasks_inserted': self._tasks_inserted,
          })
  
          callbacks = self._options.get('callbacks')
          if callbacks:
              options['callbacks'] = encode_callbacks(callbacks)
  
          return options