/// <summary>
 /// Removes a Downloader from the Manager
 /// </summary>
 /// <param name="downloader"></param>
 public void UnRegisterDownloader( Downloader downloader )
 {
     foreach (KeyValuePair<int, Downloader> d in _downloaders)
     {
         if (d.Value.Equals(downloader))
         {
             _downloaders.Remove( d.Key );
         }
     }
 }
        /// <summary>
        /// Adds a Downloader to the Manager. Cannot add two downloaders 
        /// of the same type.
        /// </summary>
        /// <param name="downloader"></param>
        /// <param name="index"></param>
        public void RegisterDownloader( Downloader downloader, int index )
        {
            bool shouldAdd = true;
            foreach (KeyValuePair<int, Downloader> d in _downloaders)
            {
                if (d.Value.Equals( downloader ))
                {
                    shouldAdd = false;
                }
            }

            if (shouldAdd)
                _downloaders.Add( index, downloader );
        }