Update to use new Listener API