code: function Storage(configuration) {
    if (Object.prototype.toString.call(configuration) !== '[object Object]')
      throw new TypeError('Storage configuration must be an Object');
  
    Object.defineProperties(this, {
  
      /**
       * The storage configuration.
       *
       * @property configuration
       * @type Object
       * @final
       */
      configuration: {
        value: configuration
      }
  
    });
  
  }
docs: @module storages
   
  Defines base storage for all storages.
  
  A storage is capable of performing CRUD (Create Read Update Delete) operations on resources.
  
  This should not be used directly, use one of its subclasses instead.
  
  @class Storage
  @constructor
  @param {Object} configuration Storage configuration which depends on the Storage type
  @throws {TypeError} If configuration is missing