transaction: separate deserialize and update methods