I have a MD notification bar button to put the phone into "meeting mode" which pops up a dialog box to select the duration. After the duration expires, the phone is restored to normal operation. Additionally, pressing the MD button when already in "meeting mode" will cancel the current meeting mode immediately and restore the phone to normal. I can use an action block passing the selected duration directly from the dialog box rather than the previous requirement to create individual, but identical (except duration value), macros.
This is why it is necessary:
If I start a meeting mode for 60 minutes, then cancel it after 20 minutes, then start another one for 60 minutes. The original 60 minute timer will continue to run and will kill the second meeting mode at its relative 40 minute mark (this behavior is confirmed by observation). Before using action blocks, an individual macro had to be created for each of the selectable durations. The cancel routine would include a cancelation of the existing timers, thereby clearing out any residual pending "meeting end" timers. This desired behavior was also confirmed by observation.
I have tried including a "cancel actions - this macro" in at the top of the action block, but it kills the current execution as well. Not being able to cancel existing timers within an action block has essentially negated the benefit of using action blocks requiring a return to making and maintaining multiple identical marcos.