Try and remove some of the horrible 'milliseond' based times, and refactor the tests for easier reading