public function offsetSet($offset, $value)
{
switch ($offset) {
case 'is_variation':
$this->set_variation($value);
break;
case 'is_visible':
$this->set_visible($value);
break;
case 'value':
$this->set_options($value);
break;
default:
if (is_callable(array($this, "set_{$offset}"))) {
return $this->{"set_{$offset}"}($value);
}
break;
}
}