At the moment Dialog:show{ wait=false } is the only thing to run a script “in background” (keep a window opened while Aseprite widgets are still clickeable).
There are plans to publish general events in a future through the new init(plugin) interface to create scripts that react to events from Aseprite widgets (sprite editor, timeline, color bar, etc.).