when .start is called on a running timer, should not call the inner timer(s) start
when a timer is done, it should reset its state to its configuration BEFORE calling the onEvent callback, so that we can immediately .start the timer again if we want to
Behaviours: