Code cleanup

#1 - new class Listener