     static let sharedInstance = YepHUD()
 
     var isShowing = false
+    var dismissTimer: NSTimer?
 
     lazy var containerView: UIView = {
         let view = UIView()

                        self.sharedInstance.activityIndicator.center = self.sharedInstance.containerView.center
                        self.sharedInstance.activityIndicator.startAnimating()

                        self.sharedInstance.activityIndicator.transform = CGAffineTransformMakeScale(0.0001, 0.0001)
                        UIView.animateWithDuration(0.2, delay: 0.0, options: UIViewAnimationOptions(0), animations: { () -> Void in
                            self.sharedInstance.activityIndicator.transform = CGAffineTransformMakeScale(1.0, 1.0)

                        }, completion: { (finished) -> Void in
                            self.sharedInstance.activityIndicator.transform = CGAffineTransformIdentity

                            let dismissTimer = NSTimer.scheduledTimerWithTimeInterval(10, target: self, selector: "forcedHideActivityIndicator", userInfo: nil, repeats: false)
                        })
                    })
            }

        if self.sharedInstance.isShowing {

            dispatch_async(dispatch_get_main_queue()) {

                self.sharedInstance.activityIndicator.transform = CGAffineTransformIdentity

                UIView.animateWithDuration(0.2, delay: 0.0, options: UIViewAnimationOptions(0), animations: { () -> Void in
                    self.sharedInstance.activityIndicator.transform = CGAffineTransformMakeScale(0.0001, 0.0001)
                    self.sharedInstance.activityIndicator.alpha = 0

                }, completion: { (finished) -> Void in
                    self.sharedInstance.activityIndicator.removeFromSuperview()
