code: function ClientStorage(driver) {
    this._data = {};
    if (navigator.cookieEnabled) {
      this.cookies = new __Cookies(document.cookie);
    } else {
      this.cookies = false;
    }
  
    switch (driver) {
    case 'localStorage':
      if (this.LSSupport) {
        this.ls = window.localStorage || localStorage;
      } else {
        console.warn('ClientStorage is set to "localStorage", but it is not supported on this browser');
      }
      break;
    case 'cookies':
      if (this.cookies) {
        this.LSSupport = false;
        this.ls        = null;
      } else {
        console.warn('ClientStorage is set to "cookies", but Cookies is disabled on this browser');
      }
      break;
    case 'js':
      this.cookies   = false;
      this.LSSupport = false;
      this.ls        = null;
      break;
    default:
      if (this.LSSupport) {
        this.ls = window.localStorage || localStorage;
      } else {
        this.ls = null;
      }
      break;
    }
  }
docs: /*
  @locus Client
  @class ClientStorage
  @param driver {Sting} - Preferable driver `localStorage` or `cookies`
  @summary Implement boilerplate Client storage functions, localStorage with fall-back to Cookies