changed viewWillDissappear to viewDidDissappear as there are some cases where viewWillDissappear is not called and leaves dangling KVObservers