Fix Streamlit state wiped or duplicated: session_state vs reruns, cache_data vs cache_resource, widget-key collisions | Vectle