I'm rather confused why a ui object is getting it's parent ui from it's grandparent (parentui.parentui) instead of just the parentui argument: # parentui may point to an ui object which is already a child self.parentui = parentui.parentui or parentui Appreciate if any can help explain it. Thanks.