Start to refactor the updating mechanism.