Move download into service
Refactor thread run