@Contract(pure = true)
  default @NotNull OptionController onValue(@NotNull String bindId, @NotNull KMutableProperty0<?> property) {
    @SuppressWarnings("unchecked") 
    KMutableProperty0<Object> unchecked = (KMutableProperty0<Object>)property;
    return onValue(bindId, property::get, unchecked::set);
  }
@Contract(pure = true)
  default @NotNull OptionController onValue(@NotNull String bindId, @NotNull KMutableProperty0<?> property)