I think there is an issue here (bug in my code this is refactoring). If you perform a membership change `UserA: false` and the user is not a member of the item, it will think that the user is being added.

We should probably split the if statement to look at `change === false` and `change !== false` completely separately.