Emulated printers could have universal backends for output (Native OS, text file, postscript, BMP, etc.) This is mostly just moving the output code to a separate file and would make it easier to pipe output.