             super.attributedText = NSAttributedString()
         }
         
+        let dispatchedTypingID = currentTypingID
+
         dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0)) {
             for (index, char) in typedAttributedText.string.characters.enumerate() {
+                guard self.currentTypingID == dispatchedTypingID else {
+                    return
+                }
+                
                 guard self.typingStopped == false else {
                     let position = typedAttributedText.string.startIndex.advancedBy(index)
                     self.stoppedSubstring = typedAttributedText.string.substringFromIndex(position)

     */
    @IBInspectable public var centerText: Bool = true
    
    private var kind: CLTypingLabelKind = .Text
    private var typingStopped: Bool = false
    private var typingOver: Bool = true

            super.text = ""
        }
        
        let dispatchedTypingID = currentTypingID
        
        dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0)) {
            for (index, char) in typedText.characters.enumerate() {
                guard self.currentTypingID == dispatchedTypingID else {
                    return
                }
                
                guard self.typingStopped == false else {
                    let position = typedText.startIndex.advancedBy(index)
                    self.stoppedSubstring = typedText.substringFromIndex(position)
