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

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

    }
    
    // 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:
    
