whenAdded, whenSet and whenRemoved can be updated but only if null