Added `timedIO`, and made `timerAdd` more generic.

See commits for comments.