making sure framework removes observer when it goes out of memory