'Dictionary of parent object->attribute name on the parent.
This attribute is a so-called "memoized" property.  It initializes
itself with a new ``weakref.WeakKeyDictionary`` the first time
it is accessed, returning the same object upon subsequent access.'

@memoized_property
def _parents(self):

    return weakref.WeakKeyDictionary()
