protected function updateStatus($alwaysNotify = false)
    {
        //save current
        $this->previousStatus = $this->status;
        //clear status
        $this->status = [];
        foreach ($this->processes as $process) {
            $this->status[] = $process->getStatus();
        }
        //notify if something has changed
        if ($this->previousStatus != $this->status || $alwaysNotify) {
            if (is_callable($this->updateCallback)) {
                call_user_func($this->updateCallback, $this->status);
            }
        }

    }