Solved delegate dilemma. Delegate moved to BatchDownloader. Added observers to DownloadItem.