Design a Notification System: Fan-Out, Preferences, and Multi-Channel Delivery