Completely refactored the code. Now the downloads are managed by a singleton FLDownloader object that creates FLDownloadTask instances. Look at the readme for details