Factored out all display and sound logic from conversation manager