I guess I assumed that ImageViewer used the same `readFile` function. What happens if someone swaps in a different file system that can read binary files?