Previously, the notification handler would process all notifications regardless of read status, and only accepted `extra_data` from the payload. Now it: - Only calls systemNotificationService and increments unread count for unread notifications - Falls back to `payload.extra` or `payload.data` when `extra_data` is not present