| HoldTrigger DelayedTrigger | HoldTrigger := [ :condition :duration | | reset trigger | reset := EventVariable new. trigger := condition setReset: reset. (reset <+ ((trigger ramp: duration s + 1 ms) eq: 1), trigger) ]. DelayedTrigger := [ :condition :delay :onduration ] | reset trigger1 trigger2 | reset := EventVariable new. trigger1 := condition setReset: reset. trigger2 := ((trigger1 ramp: delay s + 1 ms) eq: 1) setReset: reset. (reset <+ ((trigger2 ramp: onduration s + 1 ms) eq: 1), trigger2) ].