- [x] Create a facade that abstracts over timer implementations - [x] Modify existing code to use the timer facade - [ ] Create a mock timer that implements the timer facade - [ ] Rewrite time-dependent tests to use the mock timer instead Probably depends on #412.