/**
  * @param null|mixed $value
  */
 function update_value($value = null)
 {
     if (!is_null($value)) {
         $this->set_value($value);
     }
     if ($this->has_storage()) {
         $this->storage->update_value($this->value());
     }
 }
 /**
  * @return bool
  */
 function has_field()
 {
     $field_name = $this->field->field_name;
     return property_exists($this->object, $field_name) && parent::has_field($field_name);
 }