go fmt
decouple embedder from cache by defining a caching interface