Sure change it to a close primary system, but making voters sign a loyalty plead? Utter nonsense.
Closed primary systems usually make anyone who changes party to sit out one primary cycle.
I had only known open primaries in Texas until I moved to Buffalo, NY for a few years. Had no idea I had to declare a party to register to vote if I wanted to vote in a primary. Then, if changing parties would have to wait 12 months before voting in the other primary. Did NOT like it.
The vote is still private - no loyalty oath! Oh - and those single party buttons - I firmly believe you must read the names of folks for whom you are voting for each and every race.