refactored TimeManager and tests
calculate update time to prevent wierdness