OK, — I'm with you, I see where you are going with this. I think this is all doable with the Dialogue system and not too tough. See my sheet for how to get going. Magistross gave all the details on setting things up. To create the json, you can use the utility, or do it by hand with csv (or if you really want, I can send you the Parser I wrote that takes in text files and spits out JSON, see details earlier in the thread, but I don't' have time to do tech support for it.)
Use the dialogue trees you create in the utility to have choice and forks in the dialogue and then set Gamestate variables if a choice will make other conversations change (e.g. which dialogue is started when you talk to the king after you have insulted the queen, triggered by an event where you click on the queen) These Gamestate variables can be created and set through dialogue commands, see the cheat sheet for how to do it.
If it's just a short game put all the different dialogues into one JSON file, so you only need to load it once per layout.
I really enjoyed reading the writeups from the students, espeically the 'reflections', well done!