Currently if a user modifies a trigger then the old trigger is closed and unscheduled and replaced with a new trigger instance with updated properties. However, this loses the intermediate state that the trigger may have been tracking. For example, say there is a trigger for NodeAdded event with waitFor=5s and a new node is added to the cluster. While the trigger is waiting for 5s before firing, the user modifies the trigger to change the waitFor=2s. Doing this today will erase the state of the old trigger and the new trigger will never fire for the newly added node.
We need to be able to restore state from old trigger instance before replacing it.