@ctweney This was the note from our phone conversation the day I called you for advice on this: "This should be made into a subclass of GoogleProxy - connections to outside services always happens in proxies. No, that won't work - we'll need to subclass BaseProxy instead. Then it becomes cacheable. Add code that uses FakeableProxy in the request method. Google proxy  is not a good example - CalLink proxy would be a better example. Or BearFactsProxy"

So I based this on BearFactsProxy.