Since I needed to know which tasks were download / upload tasks anyway, I decided to duplicate the semaphore approach instead of checking types coming back from -[AFURLSessionManager tasks]