More robust onStorageEvent