I don't understand why we provide an update method, and do what's in the body on the finalizer?