Personally, I'd prefer a scripted method. Maybe something similar to a common way behavior trees are made:
PHP Code:
this.conversation = newConversation()
.dialogue("Bob", "head0.png", "Hello, World!")
.dialogue(player.nick, player.headimg, "Sup")
.question("Bob", "head0.png", "How you doin?", {"Good", "Alright", "Bad"})
.answer("Good")
.dialogue("Bob", "head0.png", "Awesome. ttyl")
.toParent()
.answer("Alright")
.dialogue("Bob", "head0.png", "Cool, cool")
.toParent()
.answer("Bad")
.dialogue("Bob", "head0.png", "Sorry to hear that")
.toParent()
.toParent()
.dialogue(player.nick, player.headimg, "Smell ya later")
;