I think we should be more pythonic about this and use the standard `open()` interface that `FileSystemTarget` defines rather than implementing read directly, probably passing back a class inheriting from `file`.