Wouldn't it be more consistent to add a property to the ol.ObjectProperty enum object and add an ol.Object.getBeforeChangeListeners function? Minor. I'm actually not sure why ol.Object.getListeners is necessary.