Ideally, upload/download ftp (in async mode anyway) should
work out how much data it as to transfer and give a progress report based on that, raather than the 'transferred 1 file, transferred 2 files' system it has currently.
write file to disk as it receives data from network (or vice versa) rather than reading file into / writing file from string
Ideally, upload/download ftp (in async mode anyway) should