def Event(time, node, token, inf_event, source=None):
    """
    Arguments:
        - time: float, used to order the events in the priority queue
        - node: name of the affected host
        - token: The putative new infectious status of the host
        - inf_event: Whether the Event is an infection (True) or a
              mutation(False).
        - source: The id of the node where the infection came from
    """
    return time, (node, token, inf_event, source)