Correct compensation event usage

Can you give me some more details about the “amount changed” Message?
I’m interested as to why it would need to cancel the subprocess and start it again - If the change is just to a variable would it be possible just to maintain the scope and simply catch the the message as a non-interrupting message that just changes some variable(s)?

I made this little thing as an alternative, it just kind of boils down the functionality a bit.