fixed changed event up update only on visual change

Also …
changed conditional statements to be more explicit