                        completion: nil)
     }
     
-    func hideToastActivity() {
+    func hideToastActivity(withConfiguration config: HRToastConfig = HRToastConfig()) {
         let existingActivityView = objc_getAssociatedObject(self, &HRToastActivityView) as! UIView?
         if existingActivityView == nil { return }
-        UIView.animate(withDuration: HRToastFadeDuration,
+        UIView.animate(withDuration: config.HRToastFadeDuration,
                        delay: 0.0,
                        options: UIViewAnimationOptions.curveEaseOut,
                        animations: {

     *  private methods (helper)
     */
    func hideToast(toast: UIView) {
        hideToast(toast: toast, force: false);
    }
    
    func hideToast(toast: UIView, force: Bool) {
        let completeClosure = { (finish: Bool) -> () in
            toast.removeFromSuperview()
            objc_setAssociatedObject(self, &HRToastTimer, nil, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)

        if let title = title {
            let titleLabel = UILabel()
            titleLabel.translatesAutoresizingMaskIntoConstraints = false
            titleLabel.numberOfLines = config.HRToastMaxTitleLines
            titleLabel.font = UIFont(name: UIView.hr_toastFontName(), size: config.HRToastFontSize)
            titleLabel.textAlignment = .center
            titleLabel.lineBreakMode = .byWordWrapping
            titleLabel.textColor = UIView.hr_toastFontColor()
