Merges from feat-general-selectors-for-remove.
Merges from feat-more-update-ops.
Refactors update ops for better extensibility and adds  support.