Refactor cache to a wrapper interface pattern
 - production package will utitized a wrapped `MemcachedClient`
 - tests will use a `NoOpCache` cache to ensure tests pass