Nathan and Alex's Wacky Adventure in External DSLs

I think using case classes instead of matching against simple strings would make it easier to extend and change the program. Right now the programmer will have to remember to change the strings everywhere, without any helpful type errors and warnings from Scala.