PR of initial master commits

The logic was that 'start' is to be triggered every time the timer 'starts'. Wheras, the 'resume' event fires when it is being resumed.

On reflection, I will change this so that only an explicit start calls a start, resume etc. but there will be an event 'tick' which calls for each timer "tick".