now all Quest implementations take a PrintStream as an argument to the constructor