docs: def setVisible(self, state):
          """
          Sets whether or not this particular layer is visible.  Depending on \
          if the inheritVisibility property is set for this layer, it may not \
          actually affect the visible state based on its inheritance.  If you \
          want to force this layer to be visible, use the ensureVisible method.
          
          :param      state | <bool>
          
          :return     <bool> changed
          """
          # store the current state
          currvis = self.isVisible()
          
          # update the local property
          self._visible = state
          
          # check the new state
          newvis = self.isVisible()
          
          # check to see if the state has changed
          if newvis == currvis:
              return False
          
          # update the item visibility
          self.sync()
          return True