Notification framework

An initial version of the new notification framework