Stub a cache; also more legible var names
Refactor to be able to cache
More boilerplate around caching
Implement real caching. And fix a bug.