Refactor to a single Listener class.  Update tests.