I guess I could cache the sync data in the browser, so the user can restart from where they left off when they revisit the site. But there would still be a long wait if the user visits the site from a new browser, or comes back after a lot of blocks have passed. Is there some way to handle this on the backend? Ie: 1. User visits site, their browser generates a wallet and immediately is synced from latest block 2. On the backend, the website keeps track of whatever is necessary to keep the wallet up-to-date (private view key is given to the site maybe?) 3. When the user revisits the site, their latest wallet balance is immediately available