All widgets must provide a way to access their children in a layout-agnostic way. Panels store their children in Slots, which creates a dilemma. Most panels can store their children in a TPanelChildren, where the Slot class provides layout information about the child it stores. In that case GetChildren should simply return the TPanelChildren. See StackPanel for an example.