             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?
 

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