public static function factory(ServerContextInterface $serverContext, ModuleConfigurationInterface $moduleConfiguration)
    {

        // laod the system configuration from the server context
        $systemConfiguration = $serverContext->getContainer()->getInitialContext()->getSystemConfiguration();

        // initialize the storage provider
        $storageProvider = new SystemConfigurationStorageProvider($systemConfiguration, $moduleConfiguration);

        // initialize the DNS resolver to load the DNS entries from the storage
        return new StackableResolver(array($storageProvider, new RecursiveProvider()));
    }