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