function Parent(config) {
    _classCallCheck(this, Parent);

    config = config || {};
    if (typeof config.heartBeatInterval === 'undefined') {
      config.heartBeatInterval = 500;
    }
    if (typeof config.shouldInitImmediately === 'undefined') {
      config.shouldInitImmediately = true;
    }
    if (typeof config.parse !== 'function') {
      config.parse = JSON.parse;
    }
    if (typeof config.stringify !== 'function') {
      config.stringify = JSON.stringify;
    }

    // reset tabs with every new Object
    _tab4.default.tabs = [];

    this.Tab = _tab2.default;
    _extends(this, config);

    _tab4.default.config = config;

    if (this.shouldInitImmediately) {
      this.init();
    }
  }
Involed when object is instantiated
Set flags/variables and calls init method to attach event listeners
@param  {Object} config - Refer API/docs for config keys