Use absolute file path
Change Printer's singleton methods to be instance methods
Fix syntax error and misspelling in  file_loader
Default input to "q" when stream closes

so that the program ends instaead of crashing
Introduce abstraction to make testing easier
Quit test uses the abstraction
Rename message_printer to printer
Remove unused cruft
Add integration test