Add support for weak-referenced observers