Update the list of users with this given user.
As this method could both add or remove user, it doesn't use the default SET.remove() or SET.add() methods.
This method will first remove the given user (if it is new, it won't be deleted).
Then, if it is not marked as 'toRemoved', the user is added to the list.
If it's just an update, for example 'increase number of submit' it will be updated at client side as it is removed