Make callback implementation more javaish (addListener per Listener)