Tidy up with comments
Remove listener interface