- it is modifying a non-local variable (relying on single initialization) - since the eventual check is that there was no destroy event it might as well fail when there is one - that the observer was installed is never checked