             }
         
         debugLog(.Staleness, [self, "loadIfNeeded() triggered load()"])
-        return self.load()
+        return load()
         }
     
     /**

    */
    public func load(usingRequest req: Request) -> Request
        {
        req.newData(self.receiveData)
        req.notModified(self.receiveDataNotModified)
        req.failure(self.receiveError)

        self.notifyObservers(.Requested)

        return req
        }
    
    private func receiveData(entity: Entity)
        { receiveNewData(entity, localOverride: false) }
    
    private func receiveNewData(entity: Entity, localOverride: Bool)
        {
        debugLog(.StateChanges, [self, "received new data from", localOverride ? "a local override:" : "the network:", entity])
        
        self.latestError = nil
        self.latestData = entity
        
        notifyObservers(.NewData)
        }


        debugLog(.StateChanges, [self, "received error:", error])
        
        latestError = error

        notifyObservers(.Error)
        }
