public static function singleton(NamingDirectoryInterface $namingDirectory, GenericStackable $runlevels)
    {

        // query whether we already have an instance or not
        if (ApplicationServer::$instance == null) {
            // initialize and start the application server
            ApplicationServer::$instance = new ApplicationServer($namingDirectory, $runlevels);
            ApplicationServer::$instance->start();
        }

        // return the instance
        return ApplicationServer::$instance;
    }