Notifications refactor