     
     /**
      Show or update the HUD.
-    
+     
      - parameter icon: The icon image in the HUD.
      - parameter message: The text in the HUD.
-     - parameter presentingView: The view that the HUD will be located in.
-     - parameter completion: Will be trigger when the HUD is removed.
-    */
-    public static func showOrUpdateHUD(icon: UIImage, message: String, presentingView: UIView, completion: (() -> Void)?) {
-        let duration = appearance.defaultDurationTime
-        showHud(text: Array(arrayLiteral: message), icon: icon, duration: duration, presentingView: presentingView, completion: completion)
+     - parameter particleEffectFileName: The name of the Sprite Kit particle file in your project that you want to show in the HUD background.
+     - parameter presentingView: The view that the HUD will be located in.
+     - parameter completion: Will be trigger when the HUD is removed.
+     */
+    public static func showOrUpdateHUD(icon: UIImage, message: String, particleEffectFileName: String? = nil, presentingView: UIView, completion: (() -> Void)?) {
+        showHud(text: Array(arrayLiteral: message), icon: icon, duration: appearance.defaultDurationTime, sksFileName: particleEffectFileName, presentingView: presentingView, completion: completion)
     }
     
     

    
    /**
     Show or update the HUD.
    
     - parameter icon: The icon type icon in the HUD.
     - parameter message: The text in the HUD.
     - parameter presentingView: The view that the HUD will be located in.
     - parameter completion: Will be trigger when the HUD is removed.
    */
    public static func showOrUpdateHUD(icon: IconType, message: String, presentingView: UIView, completion: (() -> Void)?) {
        let defaultIcon = iconImage(imageName: icon.rawValue)
        let duration = appearance.defaultDurationTime
        showHud(text: Array(arrayLiteral: message), icon: defaultIcon, duration: duration, presentingView: presentingView, completion: completion)
    }
    
    
    /**
     Show or update the HUD.
     
     - parameter icon: The icon type icon in the HUD.
     - parameter message: The text in the HUD.
     - parameter duration: Set how long the HUD will be displayed in seconds (override the default value).
     - parameter presentingView: The view that the HUD will be located in.
     - parameter completion: Will be trigger when the HUD is removed.
     */
    public static func showOrUpdateHUD(icon: IconType, message: String, duration: Double, presentingView: UIView, completion: (() -> Void)?) {
        let defaultIcon = iconImage(imageName: icon.rawValue)
        showHud(text: Array(arrayLiteral: message), icon: defaultIcon, duration: duration, presentingView: presentingView, completion: completion)
    }
    
    
    /**
     Show or update the HUD.
     
     - parameter icon: The icon type icon in the HUD.
     - parameter message: The text in the HUD.
     - parameter particleEffectFileName: The name of the Sprite Kit particle file in your project that you want to show in the HUD background.
     - parameter presentingView: The view that the HUD will be located in.
     - parameter completion: Will be trigger when the HUD is removed.
     */
    public static func showOrUpdateHUD(icon: IconType, message: String, particleEffectFileName: String, presentingView: UIView, completion: (() -> Void)?) {
        let duration = appearance.defaultDurationTime
        let defaultIcon = iconImage(imageName: icon.rawValue)
        showHud(text: Array(arrayLiteral: message), icon: defaultIcon, duration: duration, sksFileName: particleEffectFileName, presentingView: presentingView, funnyMessagesLanguage: nil, completion: completion)

     - parameter title: The title in the HUD.
     - parameter message: The text in the HUD.
     - parameter duration: Set how long the HUD will be displayed in seconds (override the default value).
     - parameter particleEffectFileName: The name of the Sprite Kit particle file in your project that you want to show in the HUD background.
     - parameter presentingView: The view that the HUD will be located in.
     - parameter completion: Will be trigger when the HUD is removed.
     */
    public static func showOrUpdateHUD(title: String, message: String, duration: Double, particleEffectFileName: String? = nil, presentingView: UIView, completion: (() -> Void)?) {
        showHud(title: title, text: Array(arrayLiteral: message), icon: nil, duration: duration, sksFileName: particleEffectFileName, presentingView: presentingView, completion: completion)
    }
    
