Beat Kiener implemented a WeakEventSource wrapper to simplify custom control development.
When implementing custom controls you should fully support the
Silverlight content model to get the controls bindable with the MVVM
pattern. Responding to CollectionChanged events provided by
INotifyCollectionChanged interface should be considered too. But when
attaching just the necessary events you can get into a serious memory
leaking problem. The WeakEventSource implementation is a weak-event-pattern implementation based on the WeakEventListener.
The class is helping us to reduce writing tedious code in custom
control de-velopment, reduces memory leaks which are hard to find and
last but not least it is easier to review custom control written that
way, because a Reviewer must not have full knowledge of the weak-event
pattern.