A timer. Add callbacks to the finish event. Easily start/stop and extend the time.