 			return
 		}
 		task.error = error
+		print("Task completed")
 		
 		task.completion(task.data, task.response, task.error)
 		

			
			if sema.wait(timeout: DispatchTime.now() + 30) == .timedOut {
				error = RequestError.timeout
			}
		}
		

	}
	
	private func performTask(_ task: URLSessionTask, completion: @escaping (Data?, HTTPURLResponse?, Error?) -> Void) {
		print("Starting task")
		usleep(500 * 1000)
		tasks[task] = HTTPTask(task: task, completion: completion)
		task.resume()
