IO::Callback provides an easy way to produce a phoney read-only
filehandle that calls back to your own code when it needs data to
satisfy a read. This is useful if you want to use a library module
that expects to read data from a filehandle, but you want the data to
come from some other source and you don't want to read it all into
memory and use IO::String.