timer events handled correctly