Optional bonus points if you get rid of mocking for the time stuff, the rest we can figure out later. :)