# On an unrelated note, managed to dumb down the necessary set-up code to this: proc setupClient(server: ExampleServer) = let listener = createListenerEvent(server, AppState) adw.brew( gui(App(server = server)), startupEvents = [listener] ) proc main() = var data: ServerData[ServerMessage, ClientMessage] = initServer( serverStartupEvents = getServerStartupEvents(), serverShutdownEvents = @[], sleepInMs = 0 ) withServer(data): setupClient(data)