Now 'Result', 'Listener' and 'Printer' are working together