Refactor conversation to use dialog.