public function __unset($name) { $parts = explode('.', $name, 2); if (isset($parts[1])) { unset($this->{$parts[0]}[$parts[1]]); } else { unset($this->_updated[$name]); $this->_removed[$name] = true; } }