code: public function setCfg($mixed, $newVal = null)
      {
          $ret = null;
          if (\is_string($mixed)) {
              $ret = isset($this->cfg[$mixed])
                  ? $this->cfg[$mixed]
                  : null;
              $this->cfg[$mixed] = $newVal;
          } elseif (\is_array($mixed)) {
              $ret = \array_intersect_key($this->cfg, $mixed);
              $this->cfg = \array_merge($this->cfg, $mixed);
          }
          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