     ///   - data: the mock response from the server. `Data()` by default
     ///   - httpResponse: the mock `HTTPURLResponse` from the server. `HTTPURLResponse()` by default
     public func returnSuccess(with data: Data = Data(), httpResponse: HTTPURLResponse = HTTPURLResponse()) {
-        returnSuccess(with: data, httpResponse: httpResponse, count: 1)
+        callbacks.removeFirst().onSuccess?(data, httpResponse)
     }
     
     /// Will return a successful request, by using the given data as a server response.

    public func returnSuccess<T>(with serializedResponse: T, httpResponse: HTTPURLResponse = HTTPURLResponse(), count: Int) {
        (0..<count).forEach { _ in
            precondition(!callbacks.isEmpty, "There is no request left to return a typed success for.")
            callbacks.removeFirst().onTypedSuccess?(serializedResponse, httpResponse)
        }
    }
    

    /// - Parameters:
    ///   - error: the error which gets passed to the caller
    public func returnError(with error: NetworkError) {
        callbacks.removeFirst().onErrorCallback?(error)
    }
    
    /// Will return an error to the current waiting request.
