An asynchronous task with progress tracking
Checks if all subtasks are completed
Calculates aggregate progress of all subtasks
Creates or gets an existing download sub-task
Creates or gets an existing sub-task