Notification refactor