Add support for scale changed listener

With this change, a scale change listener can be used to listen for scale changes when the user adjusts scale.