function Get($id) {
		$this->continue = TRUE;
		$this->LoadSchema();
		if ($value = $this->GetCache('get', $id))
			return $value;

		$this->ResetQuery(array(
			'method' => 'get',
			'table' => $this->table,
			'where' => array(
				$this->schema['_id']['field'] => $id,
			),
			'limit' => 1,
		));

		$this->db->from($this->query['table']);
		$this->db->where("{$this->table}.{$this->schema['_id']['field']}", $id);
		$this->db->limit(1);
		$row = $this->db->get()->row_array();
		if ($row)
			$this->ApplyRow($row);
		if (!$this->continue)
			return FALSE;

		$this->Trigger('access', $this->query['where']);
		if (!$this->continue)
			return FALSE;

		$this->Trigger('pull', $this->query['where']);
		if (!$this->continue)
			return FALSE;

		return $this->SetCache('get', $id, $row);
	}