job: take in a WriteCloser instead of a ReadWriter