KBaseComponent: better support for "visible" attribute