Make sure to check it out: http://blogs.msdn.com/x/

They already got a cool post on how to implement the observer pattern in X++.