public function getRequired(string $key)
    {
        if (!isset($this->values[$key])) {
            throw new \RuntimeException(
                "the required config value '$key' was not found"
            );
        }
        return $this->values[$key];
    }