con = $con; } public function run($data) : int { switch ($this->state) { case States::DEFAULT: $this->state = $this->runRequest($data); break; case States::PENDING: $this->state = $this->runPending($data); break; default: } return $this->state; } public function runRequest($data) : int { // todo: create workflow // todo: create task // todo: set state return 0; } public function runPending($data) : int { // todo: approve?! // todo: return 0; } public function getState() : int { return $this->state; } }