added caching of rendering composed text