'Implements dict interface.
This will track down values that reference other keys in the dictionary.'

def __getitem__(self, key):

    if (not (key in self)):
        raise KeyError(key)
    return self.__resolve_value(key, saw=[], original=key)
