docs: def wrap_handler(self, api_types, methods, endpoints):
          """
          Allow for a handler to be wrapped in a chain.
  
          :param api_types: Types to wrap handlers for
          :param methods: Methods to wrap handlers for
          :param endpoints: Endpoints to wrap handlers for
          """
  
          def wrapper(fn):
              @wraps(fn)
              def wrapped(*args, **kwargs):
                  return fn(*args, **kwargs)
  
              for api_type in api_types:
                  for method in methods:
                      for endpoint in endpoints:
                          key = (api_type, method, endpoint)
                          self._handler_chains.setdefault(key, [])
                          self._handler_chains[key].append(wrapped)
              return wrapped
  
          return wrapper