new class Progress, replace DispatchProgress