docs: def _on_decisions_event(self, event=None, **kwargs):
          """Called when an Event is received on the decisions channel. Saves
          the value in group_decisions. If num_subperiods is None, immediately
          broadcasts the event back out on the group_decisions channel.
          """
          if not self.ran_ready_function:
              logger.warning('ignoring decision from {} before when_all_players_ready: {}'.format(event.participant.code, event.value))
              return
          with track('_on_decisions_event'):
              self.group_decisions[event.participant.code] = event.value
              self._group_decisions_updated = True
              self.save(update_fields=['group_decisions', '_group_decisions_updated'])
              if not self.num_subperiods() and not self.rate_limit():
                  self.send('group_decisions', self.group_decisions)