complete implementation of notifications, end of chapter 10