src/vs/workbench/api/browser/mainThreadStorage.ts/MainThreadStorage/constructor
class MainThreadStorage:	constructor(
		extHostContext: IExtHostContext,
		@IExtensionStorageService private readonly _extensionStorageService: IExtensionStorageService,
		@IStorageService private readonly _storageService: IStorageService,
		@IInstantiationService private readonly _instantiationService: IInstantiationService,
		@ILogService private readonly _logService: ILogService,
	) {
		this._proxy = extHostContext.getProxy(ExtHostContext.ExtHostStorage);

		this._storageListener = this._storageService.onDidChangeValue(e => {
			const shared = e.scope === StorageScope.PROFILE;
			if (shared && this._sharedStorageKeysToWatch.has(e.key)) {
				const rawState = this._extensionStorageService.getExtensionStateRaw(e.key, shared);
				if (typeof rawState === 'string') {
					this._proxy.$acceptValue(shared, e.key, rawState);
				}
			}
		});
	}