Made ObservableValueRef use WeakInvalidationListener's to prevent memory leaks.