'Implements priority among updates
Lower numerical priority always gets precedence.  When comparing two
updates of the same priority then the one with the earlier timestamp
gets precedence.  In the unlikely event that the timestamps are also
equal it falls back to a simple comparison of ids meaning the
precedence is essentially random.'

def __lt__(self, other):

    if (self.priority != other.priority):
        return (self.priority < other.priority)
    if (self.timestamp != other.timestamp):
        return (self.timestamp < other.timestamp)
    return (self.id < other.id)
