I think hiding/showing a component is also a case where calling `doLayout` is required.