Progress counting refactored