Provide a `visible` state to show and hide windows