add lazy caching for Text and string Tokens