for mine, I literally made a giant, 200 line function that sets the text, then awaits a signal for either user input or a challenge completed. That's in godot though.
LOL, 200-line functions are such a game jam thing! I’m using Unity, so I’ll probably have to cobble something together with UI panels and coroutines 😅 Definitely taking inspiration from your setup though!