To de-mystify a little, when Dialogizer is displaying a dd.say[] modal, it's doing something similar to the following:
while !pointer.down blink_cursor[] deck.card.event["animate"] sleep[1] end
The "animate" event which is being sent to the current card provides the opportunity to make other things happen while the dialog box is idling and waiting for user input. Puppeteer uses this hook to animate puppets, and it can be used to give other modules and contraptions a chance to do their thing as well.
Any "blocking" scripts you write yourself can use a similar approach; a synchronous animation script becomes responsible for explicitly routing the events to everything that needs to do work on every frame, whereas an asynchronous script allows Decker to handle some of that plumbing automatically.