def diff_messages(self, prev):
    removed = [k for k in prev.items if (k not in self.items)]
    added = [k for k in self.items if (k not in prev.items)]
    updated = [k for k in prev.items if ((k in self.items) and prev.items[k].is_different(self.items[k]))]
    return (removed, added, updated)
def diff_messages(self, prev):
    removed = [k for k in prev.items if (k not in self.items)]
    added = [k for k in self.items if (k not in prev.items)]
    updated = [k for k in prev.items if ((k in self.items) and prev.items[k].is_different(self.items[k]))]
    return (removed, added, updated)