code: def load(
              cls,
              filename,
              namespace,
              loader_func,
              min_interval=0,
              comparators=None,
      ):
          
          watcher = ConfigurationWatcher(
              build_loader_callable(loader_func, filename, namespace=namespace),
              filename,
              min_interval=min_interval,
              reloader=ReloadCallbackChain(namespace=namespace),
              comparators=comparators,
          )
          watcher.load_config()
          return cls(watcher)
docs: Create a new :class:`ConfigurationWatcher` and load the initial
          configuration by calling `loader_func`.
  
          :param filename: a filename or list of filenames to monitor for changes
          :param namespace: the name of a namespace to use when loading
                            configuration. All config data from `filename` will
                            end up in a :class:`ConfigNamespace` with this name
          :param loader_func: a function which accepts two arguments and uses
                              loader functions from :mod:`staticconf.loader` to
                              load configuration data into a namespace. The
                              arguments are `filename` and `namespace`
          :param min_interval: minimum number of seconds to wait between calls to
                               :func:`os.path.getmtime` to check if a file has
                               been modified.
          :param comparators: a list of classes which support the
              :class:`IComparator` interface which are used to determine if a config
              file has been modified. See ConfigurationWatcher::__init__.
          :returns: a :class:`ConfigFacade`