Minor edits the output to add an interface.

The interface class will let add external output classes that can
overwrite the original, it also lets to devise other output methods for
example, logging to a file.