ProgressTracker manages it's own update