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

    
    // 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) }}

    }
    
    // MARK: - Private methods
    private func dump(_ text: String) {
        #if DEBUG
            print("[RESTClient] \(text)")
