fix for #158

@settinghead please review. This is just the fix for exception. The main fix for this issue is in the Core API.
The watch on ```user.status``` is to make sure it's not represented by a string but a number, because Core API only accepts numerical value for the ```status``` field. It needs to be monitored as long as the User Settings dialog is open, because the user could be changing its value via dropdown box, hence overriding it back to a string.

Come to think of it, though, this conversion logic is probably better put into ```updateUser``` factory method, but in the mean time I still think watch on status is necessary here.