Leave it to me to find problems, but I think I found one.
When I modified the "update: function" to this:
... you'll see that when you tab out of the field, the new number is NOT reflected in the data that is passed to the Update method. The old value is passed. This can cause serious problems if it is updating a database onBlur.
Any ideas how to get the new values?