I think this caching should move to `lib/hbs.js`.