refactored progress subscription to class