     func contextLabel(contextLabel: ContextLabel, beganTouchOf text: String, with linkRangeResult: LinkRangeResult)
     func contextLabel(contextLabel: ContextLabel, movedTouchTo text: String, with linkRangeResult: LinkRangeResult)
     func contextLabel(contextLabel: ContextLabel, endedTouchOf text: String, with linkRangeResult: LinkRangeResult)
+    
+    func contextLabel(contextLabel: ContextLabel, textLinkTextColorFor linkRangeResult: LinkRangeResult) -> UIColor?
+    func contextLabel(contextLabel: ContextLabel, userHandleTextColorFor linkRangeResult: LinkRangeResult) -> UIColor?
+    func contextLabel(contextLabel: ContextLabel, hashtagTextColorFor linkRangeResult: LinkRangeResult) -> UIColor?
+    func contextLabel(contextLabel: ContextLabel, linkTextColorFor linkRangeResult: LinkRangeResult) -> UIColor?
+}
+
+public extension ContextLabelDelegate {
+    func contextLabel(contextLabel: ContextLabel, textLinkTextColorFor linkRangeResult: LinkRangeResult) -> UIColor? {
+        return nil
+    }
+    
+    func contextLabel(contextLabel: ContextLabel, userHandleTextColorFor linkRangeResult: LinkRangeResult) -> UIColor? {
+        return nil
+    }
+    
+    func contextLabel(contextLabel: ContextLabel, hashtagTextColorFor linkRangeResult: LinkRangeResult) -> UIColor? {
+        return nil
+    }
+    
+    func contextLabel(contextLabel: ContextLabel, linkTextColorFor linkRangeResult: LinkRangeResult) -> UIColor? {
+        return nil
+    }
 }
 
 public class ContextLabelData: NSObject {

            var attributes: [String: AnyObject]?
            
            if linkRangeResult.linkDetectionType == .TextLink {
                let color = highlighted ? privateTextLinkHighlightedTextColor : textLinkTextColor
                attributes = attributesWithTextColor(color, underlineStyle: textLinkUnderlineStyle)
            }
            
            if linkRangeResult.linkDetectionType == .UserHandle {
                let color = highlighted ? privateUserHandleHighlightedTextColor : userHandleTextColor
                attributes = attributesWithTextColor(color, underlineStyle: userHandleUnderlineStyle)
                
            }
            
            if linkRangeResult.linkDetectionType == .Hashtag {
                let color = highlighted ? privateHashtagHighlightedTextColor : hashtagTextColor
                attributes = attributesWithTextColor(color, underlineStyle: hashtagUnderlineStyle)
                
            }
            
            if linkRangeResult.linkDetectionType == .URL {
                let color = highlighted ? privateLinkHighlightedTextColor : linkTextColor
                attributes = attributesWithTextColor(color, underlineStyle: linkUnderlineStyle)
                
            }
            
            if let attributes = attributes {

}

public class LinkRangeResult: NSObject {
    public let linkDetectionType: ContextLabel.LinkDetectionType
    public let linkRange: NSRange
    public let linkString: String
    public let textLink: TextLink?
    
    // MARK: Initializers
    
