public LiveOakSystem createInternal(Consumer<ServiceTarget> preWaitSetup) throws Exception { prolog(); createTenancy(); createServers(); createClient(); createExtensions(); createVertx(); // Handle any actions that need to be performed before awaiting stability if (preWaitSetup != null) { preWaitSetup.accept(this.serviceTarget); } this.stabilityMonitor.awaitStability(); return (LiveOakSystem) serviceContainer.getService(LIVEOAK).awaitValue(); }