Update with object contract