If the user goes into a blocking loop, only one timer will fire because it can't get serviced.  Do i care that the time fired 5 minutes ago for the minute rollover?  I can see it going either way, but I'm not sure there's much value in knowing the intended time if it was some time in the past.

I'd rather keep it simple than shuffling var delay up to the time and juggling two `DateTime` instances.