Fixes #217 which is a regression in `observer.remove()` that caused listeners to not be returned to a new object with the same ID as one that's "cleaned up" via DOM mutation events