Notification represents a desktop notification.
NotificationAction represents a desktop notification button.
NewNotification creates a new Notification instance.
{
	var notificationAction NotificationAction
	if len(action) > 0 {
		notificationAction = action[0]
	}
	return &Notification{
		AppName: appName,
		Title:   title,
		Message: message,
		Icon:    icon,
		Timeout: timeout,
		Action:  notificationAction,
	}
}NewNotificationAction creates a new NotificationAction instance.
{
	return NotificationAction{
		Label:    label,
		Callback: callback,
	}
}