NavigationButtonView: remove redundant onchange from setting observer, and prevent double (un)registration.

Change-Id: I05de2946823647345e34ced6c3b4394afecb22f4