_resetCooldown(startNewCooldown) {
      if (!TYPE_COOLDOWN_DELAY) {
        return; // if delay is 0, cooldown is disabled
      }

      if (this._typeCooldownId) {
        clearTimeout(this._typeCooldownId);
      }
      if (startNewCooldown) {
        this._startCooldown();
      }
    }
Clears the currently existing cooldown period and starts new one if requested.

@param {boolean} startNewCooldown whether to start new cooldown period after clearing previous one