public function read($prompt, $validation = "/.*/")
    {
        $value = '';

        while (true) {

            $this->view("Please enter a " . $prompt . ":");

            $value = $this->value();

            if ($this->valid($validation, $value)) {
                break;
            }

            $this->view("[ Value format for " . $prompt . " is invalid! ]");
        }

        return $value;
    }