asynchronous file downloading - "this was harder than expected" edition