The Timer and Rate need to use a clock, with a coupled time source to accurately sleep. * [ ] Remove internal Rate sleep method, and externalize it with a valid clock or pass in the clock. * [ ] Provide a sleep method for the Timer class.