Add AmbientListener implementation to handle all the pesky events in one
class