Another thought, is that possible to hide the fact that FileOp has a `file_handler`? For example, merge FileOp with StorageManager.