     
     @IBOutlet open override var imageView: UIImageView? {
         get {
-            return overridingImageView ?? super.imageView
-        }
-        set {
-            overridingImageView = newValue
+            return activeView(overridingView: overridingImageView,
+                              inheritedView: super.imageView)
+                as? UIImageView
+        }
+        set {
+            if overridingImageView == nil {
+                overridingImageView = newValue
+            }
         }
     }
     

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

        get {
            return overridingDetailTextLabel ?? super.detailTextLabel
            // TODO: Make this work:
            /*
            return activeView(overridingView: overridingDetailTextLabel,
                              inheritedView: super.detailTextLabel)
                as? UILabel
             */
        }
        set {
            if overridingDetailTextLabel == nil {
