I'd be uneasy about just having a script for each state change because that's abdicating the development to the user. Most use cases can be met with a few options such as specifying the priority for scope park and Roof/shutter close.
But having a script option for complex systems is a good idea.
The good news is that the Scheduler already contains methods for pausing and resuming. The downside is that resuming is not working properly. When Pause is pressed during capturing, the Scheduler stops as soon as the sequence is completed (while I would prefer it would suspend Capture). But restarting does not work. I‘ll try to fix this first.