factored TranscriptUI out into separate class