Add caching of passage text