I think that most of the case you will want to do:
```
DemoRunner(open('file', 'r'))
```
Running a demo from a list of lines seems like a special case to me.