It does seems that `DemoRunner` is always instantiated by `from_module` making the first argument a file, make this class more useful. (You can always pass a `StringIO` if you want to execute code from raw strings).