code: def register(self, extension, extension_name):
          
          self._extensions[extension_name] = extension
          self.ROUTES.extend([
              tuple(list(t) + [extension_name])
              for t in extension.ROUTES
          ])
          self.CACHED.extend([
              (f_name, extension_name)
              for f_name in extension.CACHED
          ])
  
          # This order allows for user defaults to overwrite extension ones
          self.Access_Control_Allow_Methods.update({
              k: v
              for k, v in extension.Access_Control_Allow_Methods.items()
              if k not in self.Access_Control_Allow_Methods
          })
docs: Register an extension into the Nautilus Router
  
          :param extension: Extension
          :param extension_name: Name of the Extension
          :return: