             Status.drawFail(loader.backgroundView)
         }
         
-        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(1.25 * Double(NSEC_PER_SEC))), dispatch_get_main_queue(), { () -> Void in
+        dispatchAfter(1.25) {
             hideLoader(loader, withCompletionBlock: nil)
-        })
+        }
     }
     
 }

    // MARK: Configs & Animations
    
    func launchTimer() {
        let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(0.01 * Double(NSEC_PER_SEC)));
        dispatch_after(dispatchTime, dispatch_get_main_queue(), {
            guard let strongSelf = ProgressLoader.weakSelf else { return }
            
            strongSelf.incrementCircleRadius()
            strongSelf.launchTimer()
        })
    }
    
    func incrementCircleRadius() {

    
    let backgroundView = loader.backgroundView
    
    dispatchOnMainQueue {
        UIView.animateWithDuration(config.backgroundViewDismissAnimationDuration, delay: 0.0, options: .CurveEaseOut, animations: {
            backgroundView.alpha = 0.0
            backgroundView.transform = CGAffineTransformMakeScale(0.9, 0.9)
        }, completion: { _ in block?() })
    }
    
    dispatchAfter(config.backgroundViewDismissAnimationDuration) {
        cleanupLoader(loader)
    }
}

private func window() -> UIWindow? {
