now caching KenLM ChartState objects for efficiency