Use timeout rather than custom timer.