A possible workable version of Howards pull request

Only if the present value has changed
* will `callChangeListener` be called
   * I assume that is correct way
      * for if nothing has changed ...