controls: fix how child controls get added to parents