code: public function setCfg($mixed, $newVal = null)
      {
          $ret = null;
          $values = array();
          if (\is_string($mixed)) {
              $key = $mixed;
              $ret = isset($this->cfg[$key])
                  ? $this->cfg[$key]
                  : null;
              $values = array(
                  $key => $newVal,
              );
          } elseif (\is_array($mixed)) {
              $values = $mixed;
          }
          if (isset($values['onError'])) {
              /*
                  Replace - not append - subscriber set via setCfg
              */
              if (isset($this->cfg['onError'])) {
                  $this->eventManager->unsubscribe('errorHandler.error', $this->cfg['onError']);
              }
              $this->eventManager->subscribe('errorHandler.error', $values['onError']);
          }
          $this->cfg = \array_merge($this->cfg, $values);
          return $ret;
      }
docs: Set one or more config values
  
  If setting a single value via method a or b, old value is returned
  
  setCfg('key', 'value')
  setCfg(array('k1'=>'v1', 'k2'=>'v2'))
  
  @param string $mixed  key=>value array or key
  @param mixed  $newVal value
  
  @return mixed