 
         iconImageView.alpha = 0.0
         informationLabel.text = text ?? ""
-
+        updateIconConstraints()
+        
         loadingActivityIndicator.startAnimating()
 
         showViewsAnimated(views: [loadingActivityIndicator, informationLabel], completion: { _ in

    
    private func generateIconConstraints() {
        let centerXConstraint = NSLayoutConstraint(item: iconImageView, attribute: .CenterX, relatedBy: .Equal, toItem: hudMessageView, attribute: .CenterX, multiplier: 1, constant: 0)
        let topConstraint = NSLayoutConstraint(item: iconImageView, attribute: .Top, relatedBy: .Equal, toItem: hudMessageView, attribute: .Top, multiplier: 1, constant: 30)
        let widthConstraint = NSLayoutConstraint(item: iconImageView, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 48)
        let heightConstraint = NSLayoutConstraint(item: iconImageView, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 48)
        
        [centerXConstraint, topConstraint, widthConstraint, heightConstraint].forEach {
            $0.active = true
        }
        
        iconImageWidthConstraint = widthConstraint
        iconImageHeightConstraint = heightConstraint
    }
    
    private func generateLoadingIndicatorConstraints() {

    func showMessage(message message: String?, icon: UIImage?, completion: (() -> Void)?) {

        informationLabel.text = message
        updateIconConstraints()
        
        if icon != nil {
            alpha = 1.0
            iconImageView.image = icon
