[4303] Caching.

https://gist.github.com/lukkolstx/3f505c25855214b28f8c
Fixed. Please review.
Please use `with` statement.