pass the return value of set to after_set as changed; by default, if its False, do no work