pub async fn run_async<Factory, FutureRuntime, Runtime>(factory: Factory)where
    Factory: FnOnce(EventEmitter) -> FutureRuntime,
    FutureRuntime: Future<Output = Runtime>,
    Runtime: RuntimeService + 'static,