docs: def handle_presence(self, old_present):
          '''
          Fire presence events if enabled
          '''
          # On the first run it may need more time for the EventPublisher
          # to come up and be ready. Set the timeout to account for this.
          if self.presence_events and self.event.connect_pull(timeout=3):
              present = self.ckminions.connected_ids()
              new = present.difference(old_present)
              lost = old_present.difference(present)
              if new or lost:
                  # Fire new minions present event
                  data = {'new': list(new),
                          'lost': list(lost)}
                  self.event.fire_event(data, tagify('change', 'presence'))
              data = {'present': list(present)}
              self.event.fire_event(data, tagify('present', 'presence'))
              old_present.clear()
              old_present.update(present)