- Use contexts for large-scope states - Use OffscreenCanvas for rendering instead of hidden canvas element