use a 1ms timer rather than simply setting a 'needs_check' flag in stable states where timers are used.
(still working around a bug in processing complex automatic state changes that use timers)