code: function CacheManager() {
    var self = this;
    self.caches = {};
  
    Object.defineProperty(self, 'stats', {
      get: function () {
        return Object.keys(self.caches).reduce(function(a,region){
          a[region] = self.caches[region].stats;
          return a;
        },{});
      }
    });
  }
docs: @private
  
  @description
  
  Cache manager abstraction.
  Handles all the different caches used by the SDK
  @constructor