Binding events directly to an external bindable will cause that
bindable to hold a permanent reference to the current object.
We use `GetBoundCopy()` or otherwise a local bindable + `.BindTo()` to create a
weak-referenced copy of the target bindable. When the local bindable's
lifetime expires, so does the external bindable's reference to it.