def get (self, name, default=None):
        """Returns the attribute value *AitConfig.name* or *default*
        if name does not exist.

        The name may be a series of attributes separated periods.  For
        example, "foo.bar.baz".  In that case, lookups are attempted
        in the following order until one succeeeds:

            1.  AitConfig['foo.bar.baz'], and
            2.  AitConfig.foo.bar.baz
            3.  (If both fail, return *default*)
        """
        if name in self:
            return self[name]

        config = self
        parts  = name.split('.')
        heads  = parts[:-1]
        tail   = parts[-1]

        for part in heads:
            if part in config and type(config[part]) is AitConfig:
                config = config[part]
            else:
                return default

        return config[tail] if tail in config else default