Add Time class and tests, refactor Date