             parentView.bounds.size.height/2);
 
         containerView.addSubview(label)
-        
+
         parentView.addSubview(containerView)
-        
+
         Utils.centerViewInSuperview(containerView)
-        
-        
+
+
         return containerView
     }
-    
+
     public class func removeAllOverlaysFromView(parentView: UIView) {
         var overlay: UIView?
 

    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 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,

            },
            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
    }
}
