public function when(callable $func, $data = null) { if (isset($this->string)) { $func($this->error, $this->string, $data); } else { $this->whens[] = [$func, $data]; } return $this; }