The bug
When creating a new React application with Vite's React template, it comes with StrictMode enabled.
StrictMode, mounts the component, then unmounts it and then mounts it again. It does that to check for errors.
That created a problem, where I had one controller in my JSX structure but because of the mount-unmount-mount situation I ended it up with two. That caused a number of problems down the line.