more cleanups of ProgressMonitor and implemented (draft) worker thread support for ProgressMonitor