Refactored progress dialog manager