state:State = (new Proxy(overlay, {/** Give defaults if overlay doesn't have the key */get: function(target, property) {if (property in target) {return target[property]} else {return defaults[property]}},/** Persist sets to storage immediately */set: function(target, property, value) {logger.debug("State changed!", property, value)target[property] = valuebrowser.storage.local.set({ state: target })return true},}) as any) as State