Sometimes, two alarms are running with different intervals which co-occur once every x runs. When one of the two tasks needed to be cancelled just before the next co-ocurring execution window the alarm was rescheduled, when it didn't need too, thus delaying other task's execution.
@matey97, I touched critical code parts while solving this issue. I would greatly appreciate if you can think of any scenarios where this code logic would fail. Thanks
This PR fixes the following issue: