added:  'onSet' & 'onRemove' callback support

added:  'onSet' & 'onRemove' callback support