#1798: refactoring, extract common asynctask with progress