code: def _remove_session_callback(self, callback_obj, originator):
          ''' Remove a callback added earlier with ``add_periodic_callback``,
          ``add_timeout_callback``, or ``add_next_tick_callback``.
  
          Returns:
              None
  
          Raises:
              KeyError, if the callback was never added
  
          '''
          try:
              callback_objs = [callback_obj]
              self._session_callbacks.remove(callback_obj)
              for cb, cb_objs in list(self._callback_objs_by_callable[originator].items()):
                  try:
                      cb_objs.remove(callback_obj)
                      if not cb_objs:
                          del self._callback_objs_by_callable[originator][cb]
                  except KeyError:
                      pass
          except KeyError:
              raise ValueError("callback already ran or was already removed, cannot be removed again")
          # emit event so the session is notified and can remove the callback
          for callback_obj in callback_objs:
              self._trigger_on_change(SessionCallbackRemoved(self, callback_obj)f _remove_session_callback(self, callback_obj, originator):
          ''' Remove a callback added earlier with ``add_periodic_callback``,
          ``add_timeout_callback``, or ``add_next_tick_callback``.
  
          Returns:
              None
  
          Raises:
              KeyError, if the callback was never added
  
          '''
          try:
              callback_objs = [callback_obj]
              self._session_callbacks.remove(callback_obj)
              for cb, cb_objs in list(self._callback_objs_by_callable[originator].items()):
                  try:
                      cb_objs.remove(callback_obj)
                      if not cb_objs:
                          del self._callback_objs_by_callable[originator][cb]
                  except KeyError:
                      pass
          except KeyError:
              raise ValueError("callback already ran or was already removed, cannot be removed again")
          # emit event so the session is notified and can remove the callback
          for callback_obj in callback_objs:
              self._trigger_on_change(SessionCallbackRemoved(self, callback_obj))
docs: Remove a callback added earlier with ``add_periodic_callback``,
          ``add_timeout_callback``, or ``add_next_tick_callback``.
  
          Returns:
              None
  
          Raises:
              KeyError, if the callback was never added