Refactored progress mechanism