     struct Statics {
         // Some random number
         static let containerViewTag = 456987123
-        
+
         static let cornerRadius = CGFloat(10)
         static let padding = CGFloat(10)
-        
-        static let backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.7)
+
+        static let backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1)
         static let textColor = UIColor(red: 1, green: 1, blue: 1, alpha: 1)
         static let font = UIFont(name: "HelveticaNeue", size: 14)!
-        
+
         // Annoying notifications on top of status bar
         static let bannerDissapearAnimationDuration = 0.5
     }
-    
+
     private struct PrivateStaticVars {
         static var bannerWindow : UIWindow?
     }
-    
+
     public class Utils {
-        
+
         /**
             Adds autolayout constraints to innerView to center it in its superview and fix its size.
             `innerView` should have a superview.
-        
+
             :param: innerView View to set constraints on
         */
         public static func centerViewInSuperview(view: UIView) {
             assert(view.superview != nil, "`view` should have a superview")
-            
+
             view.setTranslatesAutoresizingMaskIntoConstraints(false)
-            
+
             let constraintH = NSLayoutConstraint(item: view,
                 attribute: NSLayoutAttribute.CenterX,
                 relatedBy: NSLayoutRelation.Equal,

            if overlay == nil {
                break
            }
            
            overlay!.removeFromSuperview()
        }
    }
    
    // MARK: Status bar notification
    
    public class func showAnnoyingNotificationOnTopOfStatusBar(notificationView: UIView, duration: NSTimeInterval) {
        if PrivateStaticVars.bannerWindow == nil {
            PrivateStaticVars.bannerWindow = UIWindow()
            PrivateStaticVars.bannerWindow!.windowLevel = UIWindowLevelStatusBar + 1
        }
        
        PrivateStaticVars.bannerWindow!.frame = CGRectMake(0, 0, UIScreen.mainScreen().bounds.size.width, notificationView.frame.size.height)
        PrivateStaticVars.bannerWindow!.hidden = false
        
        let selector = Selector("closeAnnoyingNotificationOnTopOfStatusBar:")
        let gestureRecognizer = UITapGestureRecognizer(target: self, action: selector)
        notificationView.addGestureRecognizer(gestureRecognizer)
        
        PrivateStaticVars.bannerWindow!.addSubview(notificationView)
        self.performSelector(selector, withObject: notificationView, afterDelay: duration)
    }
    
    public class func closeAnnoyingNotificationOnTopOfStatusBar(sender: AnyObject) {
        NSObject.cancelPreviousPerformRequestsWithTarget(self)
    
        var notificationView: UIView?
        
        if sender.isKindOfClass(UITapGestureRecognizer) {
            notificationView = (sender as! UITapGestureRecognizer).view!
        } else if sender.isKindOfClass(UIView) {
            notificationView = (sender as! UIView)
        }
        
        UIView.animateWithDuration(Statics.bannerDissapearAnimationDuration,
            animations: { () -> Void in
                let frame = notificationView!.frame

            },
            completion: { (finished) -> Void in
                notificationView!.removeFromSuperview()

                PrivateStaticVars.bannerWindow!.hidden = true
            }
        )
    }

    // MARK: - Private class methods -

    private class func labelForText(text: NSString) -> UILabel {
        let textSize = text.sizeWithAttributes([NSFontAttributeName: Statics.font])

        let labelRect = CGRectMake(0,
            0,
            textSize.width,
            textSize.height)

        let label = UILabel(frame: labelRect)
        label.font = Statics.font
        label.textColor = Statics.textColor
        label.text = text as String
        label.numberOfLines = 0

        return label;
    }

    private class func addMainWindowBlocker() -> UIView {
        let window = UIApplication.sharedApplication().delegate!.window!!

        let blocker = UIView(frame: window.bounds)
        blocker.backgroundColor = Statics.backgroundColor
        blocker.tag = Statics.containerViewTag

        blocker.setTranslatesAutoresizingMaskIntoConstraints(false)

        window.addSubview(blocker)

        let viewsDictionary = ["blocker": blocker]

        // Add constraints to handle orientation change
        let constraintsV = NSLayoutConstraint.constraintsWithVisualFormat("V:|-0-[blocker]-0-|",
            options: NSLayoutFormatOptions(rawValue: 0),
            metrics: nil,
            views: viewsDictionary)

        let constraintsH = NSLayoutConstraint.constraintsWithVisualFormat("|-0-[blocker]-0-|",
            options: NSLayoutFormatOptions(rawValue: 0),
            metrics: nil,
            views: viewsDictionary)

        window.addConstraints(constraintsV + constraintsH)

        return blocker
    }
}
