         super.init(coder: aDecoder)
     }
     
-    private static func hideCurrentMessage(animated: Bool, completion: (()->())? = nil) {
-        
-        if pendingMessages.count > 0 {
+    private static func hideCurrentMessage(animated: Bool, alreadyRemoved: Bool = false, completion: (()->())? = nil) {
+        
+        if !alreadyRemoved && pendingMessages.count > 0 {
             pendingMessages.removeLast()
         }
         

            
            pendingMessages = pendingMessages.filter { $0 != message }
            
            hideCurrentMessage(true) {
                if let next = pendingMessages.last {
                    showMessage(next)
                }
            }
        }
    }
    
    public static func cancelMessage(toCancel: Message, animated: Bool = true) {

        }
    }
    
    private let errorBackgroundColor = UIColor(white: 0.2, alpha: 1.0)
    private let regularBackgroundColor = UIColor(red: 51.0/255.0, green: 204.0/255.0, blue: 51.0/255.0, alpha: 1)
    override public var barTintColor: UIColor? {
        didSet {
            underStatusBarView.backgroundColor = barTintColor?.colorWithAlphaComponent(0.85)
        }
    }
    
    private func styleForError(isError: Bool) {
        barTintColor = isError ? errorBackgroundColor : regularBackgroundColor
        messageLabel.textColor = .whiteColor()
    }
    
    private func hideHairlineBorder() {
        for view in subviews {
            if let imageView = view as? UIImageView {
