An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
you just define a delegate and invoke in the notify routine:
not sure your use of weak reference. typically used with a cache. maybe you wanted weak delegate:
https://learn.microsoft.com/en-us/previous-versions/windows/embedded/cc533276(v=msdn.10)