Add caching to all modules and make them more similar to each other
Merge pull request #140 from mahagr/master

Add caching to all modules and make them more similar to each other