MSVC notification, cleanup public/private sections - no functional change
notification.h, cleanup public/private declarations - no functional change
Change class delete/destory responsibilities. Application calls create_XXX(), so should call XXX->destory().