def get_str(self, key, default=None):
        """
        Args:
            key (str | unicode | None): Key to lookup
            default (str | unicode | None): Default to use if key is not configured

        Returns:
            (str | None): Value of key, if defined
        """
        if key:
            for provider in self.providers:
                value = provider.get_str(key)
                if value is not None:
                    return value

        return default