The name `TextStreamer` doesn't seem to fit in with the others...the other streamers are named for what they take as their input...they all output text.  Maybe `IterStreamer`, since it takes in an iterator or iterable.