This removes the need to calculate widget bounds and parent on demand by traversing up the widget tree.