Chef lack of "return system to previous state after recipe was recalled" functionality.
It would be great if there will be possibility to automagicaly start some recipe once after you delete some recipe/role from node run_list.
for example: if you delete recipe[nginx] from node run_list, and then for this node automagically will starts once recipe[nginx::uninstall] (if it exist).
So you can describe how to return system to previous state in this recipe.
Name of automagically starting recipe can be specified in cookbook metadata or can be hardcoded.