ADD: use signals to let components request
     corresponding gui visibility state