[16] Extract caching features to dedicated class