anchor.diff:  
       attribute_callbacks["input_value"] = (attr_name, self) {
         self.publishEvent("change", self);
  -      self.findPart("input").value = self.input_value;
  +
  +      self.display_value = self.options[self.input_value];
  +      if(self.display_value == null)
  +        self.display_value = self.input_value;
  +
  +      self.findPart("input").value = self.display_value;
  +      print("Input value: ${this.input_value}");
  +      print("Display value: ${this.display_value}");
       };
   
       attribute_callbacks["disabled"] = (attr_name, self) {
  
positive.code:   void clearCustomValue([force=false]) {
      if((!this.options.containsKey(this.input_value) && this.allow_custom_value == false) || force) {
        this.input_value = this.input_value;
      }
      this.behave('close');
      this.opened = false;
  
negative.code:   List native_events   = ["arrow.click", "option.click", "!input.keyup", "!input.keydown", "!input.change", "!input.blur"];
    List behaviors       = [SelectComponentBehaviors, EditableSelectComponentBehaviors];
  
    int    keypress_stack_timeout = 500;
    bool   fetching_options       = false;
  
  
    /** We need this additional property to store ALL loaded properties.
  