     }
     
     // MARK: - Private methods
-    private func parse<Model: Decodable>(_ data: Data, response: Response, completion: Handler<Model>) throws {
-        let decoder = JSONDecoder()
-        let model = try decoder.decode(Model.self, from: data)
-        completion(.success(response, model))
-    }
-    
     private func dump(_ text: String) {
         #if DEBUG
             print("[RESTClient] \(text)")

    
    // MARK: - Instance methods
    public func execute<Model: Decodable>(request: URLRequest,
                                          handler: @escaping Handler<Model>) {
        // Ensure all our responses are back on the main thread
        let completion = { response in DispatchQueue.main.async { handler(response) }}

                        data = RawResponse.from(data)
                    }
                    
                    let model = try decoder.decode(Model.self, from: data)
                    completion(.success(response, model))
                } else {
                    throw ResponseError.unsuccessful(response)
                }
