public function __set($key, $value) { // we must have both this and set() per behavior of WireArray::__set() // which throws exceptions if attempting to set a property if (SelectableOption::isProperty($key)) { return $this->setProperty($key, $value); } return parent::__set($key, $value); }