Re-introduced cleanup of the timer after usage

As per danrossi's requests, this re-introduces cleaning up the timer in stop and actually set's it to `null`, so that it's recreated in `start()`, with the appropriate event handler set up.