Merge "Always remove the observers in cancel to avoid object leakage" into sc-dev