#533 - Breaking up download process into cleaner logical / threading chunks.