Refactored Dialogue to be more dynamic