public function isValidConfig()
    {
        $missing = [];

        foreach ($this->required as $required) {
            if (!array_key_exists($required, $this->txpcfg)) {
                $missing[] = $required;
            }
        }

        if ($missing) {
            throw new \InvalidArgumentException(
                'Textpattern installation missing config values: '.implode(', ', $missing)
            );
        }
    }