Factorial now caching level-specific factorials