     }
     
     // MARK: - Functions
+    
+    private func activeLabel(overridingLabel: UILabel?, superLabel: UILabel?) -> UILabel? {
+        #if TARGET_INTERFACE_BUILDER
+        return isAwake
+            ? overridingLabel
+            : superLabel
+        #else
+        return overridingLabel ?? superLabel
+        #endif
+    }
     
     // TODO: Move to NibReplaceable:
     

    
    @IBOutlet open override var textLabel: UILabel? {
        get {
            return isAwake
                ? overridingTextLabel
                : super.textLabel
        }
        set {
            if overridingTextLabel == nil {

    @IBOutlet open override var detailTextLabel: UILabel? {
        get {
            return overridingDetailTextLabel ?? super.detailTextLabel
            // TODO: Make this work:
//            return activeLabel(overridingLabel: overridingDetailTextLabel,
//                               superLabel: super.detailTextLabel)
        }
        set {
            if overridingDetailTextLabel == nil {
                overridingDetailTextLabel = newValue
            }
        }
    }
    
