public function view($_view, ?array $_data = [], bool $_return = false)
    {
        // Load the default data before
        if (\count($this->viewData) > 0) {
            extract($this->viewData, EXTR_SKIP);
        }
        // Are we sending data straight to output?
        if ($_view === null) {
            $this->output .= $_data[0];

            return true;
        }

        // The location of the View to be loaded
        $fileName = $this->configs['libs'] . '/Views/' . $_view . '.php';
        if (!file_exists($fileName)) {
            throw new CoreException("Could not find View in '{$fileName}'!");
        }

        if (\count($_data) > 0) {
            extract($_data, EXTR_SKIP);
        }

        ob_start();
        include $fileName;
        $buffer = ob_get_contents();
        ob_end_clean();
        if ($_return) {
            return $buffer;
        }
        $this->output .= $buffer;

        return true;
    }