add lifecycle events for setting create/update