code: def uid(self):
          
          # Since this does not change over time (?) check whether we already
          # know the answer. If so, there is no need to go further
          if self._uid is not None:
              return self._uid
          # if not, we have to get it from the zone topology, which
          # is probably quicker than any alternative, since the zgt is probably
          # cached. This will set self._uid for us for next time, so we won't
          # have to do this again
          self._parse_zone_group_state()
          return self._uid
docs: str: A unique identifier.
  
          Looks like: ``'RINCON_000XXXXXXXXXX1400'``