Change subprotocols from List to Set which makes more sense and expose them