Extracting the logic for detecting differences:
Basic add/remove detection working