fixed: remove notification observer in dealloc