重构NotificationSender