Tries to fetch a variable from the config and expects it to be a string
        :param key: The variable to search for in a possible list of configs
        :param optional: Whether to raise ConfigKeyNotFoundError if key was not found.
        :return: str string

def get_string(self, key, optional=False):
        """
        Tries to fetch a variable from the config and expects it to be a string
        :param key: The variable to search for in a possible list of configs
        :param optional: Whether to raise ConfigKeyNotFoundError if key was not found.
        :return: str string
        """
        return self._get_typed_value(key, str, lambda x: str(x), optional)