Cherry-picked the :cacheable option from hmoore-r7.