I don't think all of this should be in WAVEDViewModel. Why not add helper classes like with everything else that has a dialog?