bindToState = function (target, source, property) {
const sourceEvent = "input";
const onsource = () => (target.value = source.value[property]);
const ontarget = () => {
source.value[property] = target.value;
source.dispatchEvent(new Event("input", { bubbles: true }));
};
onsource();
target.addEventListener("input", ontarget);
source.addEventListener("input", onsource);
invalidation.then(() => source.removeEventListener("input", onsource));
return target;
}