I still don't know why do need to remove/add the observer dynamically here.