                         }
                         let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
                         try self.dictionaryFromJSON(json)
-                        dispatch_async(dispatch_get_main_queue()) { request.completeWithObject(true) }
+                        dispatch_async(self.responseQueue) { request.completeWithObject(true) }
                     }
                     catch RepositoryError.StatusFail {
-                        dispatch_async(dispatch_get_main_queue()) { request.completeWithObject(false) }
+                        dispatch_async(self.responseQueue) { request.completeWithObject(false) }
                     }
                     catch {
-                        dispatch_async(dispatch_get_main_queue()) { request.completeWithError(error) }
+                        dispatch_async(self.responseQueue) { request.completeWithError(error) }
                     }
                 }
             } catch {
-                dispatch_async(dispatch_get_main_queue()) { request.completeWithError(error) }
+                dispatch_async(self.responseQueue) { request.completeWithError(error) }
             }
         }
         return request

                        if let error = error {
                            throw error
                        }
                        if let response = response, error = self.getErrorFromResponse(response) {
                            throw error
                        }
                        guard let data = data else {

                            }
                        }
                        let object = try T(dictionary: dictionary)
                        dispatch_async(self.responseQueue) { request.completeWithObject(object) }
                    } catch {
                        dispatch_async(self.responseQueue) { request.completeWithError(error) }
                    }
                })
            } catch {
                dispatch_async(self.responseQueue) { request.completeWithError(error) }
            }
        }
        return request
