Converting to use $timeout and $interval

Improve mocking and testing ability
Fixing tests to work with $timeout and $interval
I did x another test. I'm sure I could make that one and the pre-x'd test work with a little more time.