Optional Notifications rebase

Same content as #84 but rebased to try and fix build.