code: function registerTokenStore(name, tokenStore) {
          var requiredMethods = ['get', 'put', 'remove'];
  
          var isValid = tokenStore && requiredMethods.reduce(function(valid, method) {
            return valid && angular.isFunction(tokenStore[method]);
          }, true);
  
          if (!isValid) {
            throw new Error('Invalid token store. `get`, `put` and `remove` methods must be implemented');
          }
  
          tokenStores[name] = tokenStore;
        }
docs: @ngdoc method
  @name stormpath.tokenStore.TokenStoreManager#registerTokenStore
  
  @methodOf stormpath.tokenStore.TokenStoreManager
  
  @param {String} name The name under which to store the token store implementation
  @param {TokenStore} tokenStore A concrete {@link stormpath.tokenStore.TokenStore TokenStore}
  
  @throws {Error} tokenStore must satisfy the token store contract methods (get, put, remove).