added ScheduledExecutionContext and misc. refactored progress to add ProgressReporter and LoopConfig