I see the change you made in the diff, but what has me curious is why was it still setting the preference to false? Unless I'm misreading something, wouldn't it just skip calling handleTownChange() and leave the preference alone? Or was something else forcing the change?