Various minor improvements to readability
Refactor cache implementation using ActiveSupport::Cache
Add activesupport dependency