How to get a top level frame of a control?

How to get the top level frame of a control? Is there not something
more elegant (like we have self.GetApp) than this?

        self._parentFrame = parent
        while True:
            parent = self._parentFrame.GetParent()
            if parent:
                self._parentFrame = parent
            else:
                break

Setting it as an attribute during initialization is no option, as the
control might be deeply nested and/or one of its parents could be
reparented.

Stani