retrieves a value, substituting actual
        values for ConfigValue templates.

def val(self, name):
        """
        retrieves a value, substituting actual
        values for ConfigValue templates.
        """
        v = getattr(self, name)
        if hasattr(v, 'retrieve_value'):
            v = v.retrieve_value(self.__dict__)
        return v