Thanks a lot Fabian for sharing your solution through blog within our Community. This is great.
After a far too long time, part 2 is there: http://bit.ly/Wh9GrH
This is interesting; however, there still seems to be some timing issue with this approach. When the callback/event handler is finally called while the application is in the middle of repaint/redraw, the application can hang or error out.