This will be useful. As you are already using a rule and createTimer, you can modify that.
The trick is to keep a handle for the timer that you create, so that it survives between different runs of your rule. That will allow you to rechedule your timer when another trigger comes along.