code: def conglomerate(self, messages, **config):
          
          for conglomerator in self.conglomerator_objects:
              messages = conglomerator.conglomerate(messages, **config)
          return messages
docs: Given N messages, return another list that has some of them
          grouped together into a common 'item'.
  
          A conglomeration of messages should be of the following form::
  
            {
              'subtitle': 'relrod pushed commits to ghc and 487 other packages',
              'link': None,  # This could be something.
              'icon': 'https://that-git-logo',
              'secondary_icon': 'https://that-relrod-avatar',
              'start_time': some_timestamp,
              'end_time': some_other_timestamp,
              'human_time': '5 minutes ago',
              'usernames': ['relrod'],
              'packages': ['ghc', 'nethack', ... ],
              'topics': ['org.fedoraproject.prod.git.receive'],
              'categories': ['git'],
              'msg_ids': {
                  '2014-abcde': {
                      'subtitle': 'relrod pushed some commits to ghc',
                      'title': 'git.receive',
                      'link': 'http://...',
                      'icon': 'http://...',
                  },
                  '2014-bcdef': {
                      'subtitle': 'relrod pushed some commits to nethack',
                      'title': 'git.receive',
                      'link': 'http://...',
                      'icon': 'http://...',
                  },
              },
            }
  
          The telltale sign that an entry in a list of messages represents a
          conglomerate message is the presence of the plural ``msg_ids`` field.
          In contrast, ungrouped singular messages should bear a singular
          ``msg_id`` field.