fixed coming back from background, unregisters on dealloc