Implemented a progress callback mechanism and added a progress bar to teh GUI