Changed RoutedEvent to use WeakReference
I think UIElement is complete