This seems potentially weird for the same reason as above.  All the widgets are basically maintaining their own state and making state changes in reaction to specific events, except for these blanket "update" calls which are divorced from events that are relevant to these control containers.