FEATURE Using due_ons decorator. refactor property_update_spec