The app would crash when connection settings were changed. This refactors the connection logic to be consistent with the rest of the mpdclient command structure. This ultimately fixes the bug.
We need to make it more flexible and less coupled
This should make handling the queuing side work more reliably.