function update() {
		$where = $this->criteria();
		$this->table->notify($this, "update", $where);
		$rowset = $this->table->update($where, $this->changes());
		if (!count($rowset)) {
			throw new \UnexpectedValueException("No row updated");
		}
		$this->data = $rowset->current()->data;
		$this->cell = array();
		return $this;
	}