public async void DownloadRejected(DownloadRejected rejected)
        {
            Console.WriteLine("[Downloadanager] DownloadRejected");
            Console.WriteLine("[Downloadanager] DownloadRejected Id     : {0}", rejected.Id);
            Console.WriteLine("[Downloadanager] DownloadRejected Reason : {0}", rejected.Reason);

            Download download;
            bool     found = _repo.TryById(rejected.Id, out download);

            if (!found)
            {
                var error = new DownloadError {
                    Id    = rejected.Id,
                    Error = ErrorEnum.DownloadRejected_IdentifierNotFound
                };
                await _bus.SendAsync <DownloadError> (error);

                return;
            }

            bool paused = download.TryPause();

            if (!paused)
            {
                await _bus.SendAsync <DownloadError> (new DownloadError {
                    Id    = download.Id,
                    State = download.State,
                    Error = ErrorEnum.DownloadRejected_InvalidState
                });

                return;
            }
            _repo.Update(download);
        }
		public async void DownloadRejected(DownloadRejected rejected) {

			Console.WriteLine("[Downloadanager] DownloadRejected");
			Console.WriteLine("[Downloadanager] DownloadRejected Id     : {0}", rejected.Id);
			Console.WriteLine("[Downloadanager] DownloadRejected Reason : {0}", rejected.Reason);

			Download download;
			bool found = _repo.TryById(rejected.Id, out download);

			if (!found) {
				var error = new DownloadError {
					Id = rejected.Id,
					Error = ErrorEnum.DownloadRejected_IdentifierNotFound
				};
				await _bus.SendAsync<DownloadError> (error);
				return;
			}

			bool paused = download.TryPause ();
			if (!paused) {
				await _bus.SendAsync<DownloadError> (new DownloadError {
					Id = download.Id,
					State = download.State,
					Error = ErrorEnum.DownloadRejected_InvalidState
				});
				return;
			}
			_repo.Update (download);

		}