Quick and dirty caching

We need to refactor out to middleware-like behavior