But there are other approaches to cancelling a Timer already in operation when an event happens. They key is to keep a handle to your timer, then a rule triggered from the new event can look to see if the is already running and the cancel orreschedule as you wish.
Example