When you press the INSTALL button, it does some busywork inside func install(id: Xcode.ID) for a while before it actually begins to download. During this time, the button is still enabled and clickable, as if nothing happened. Eventually the download starts and the button disappears.
Between the click and when that happens, the button should either turn into a spinner or become disabled to a) prevent the user from clicking the button multiple times, and b) indicate to the user that something is happening
I may take a stab at this myself later, but I'm on a plane at the moment :)