Timer: implement a single_shot timer