 
     var titleAlignment: TitleAlignment = .Bottom {
         didSet {
-            if oldValue != titleAlignment {
-                switch titleAlignment {
-                case .Top:
-                    titleLabel.snp_remakeConstraints { make in
-                        make.left.equalTo(self).offset(SettingsTableSectionHeaderFooterViewUX.titleHorizontalPadding)
-                        make.right.lessThanOrEqualTo(self).offset(-SettingsTableSectionHeaderFooterViewUX.titleHorizontalPadding)
-                        make.top.equalTo(self).offset(SettingsTableSectionHeaderFooterViewUX.titleVerticalPadding)
-                    }
-                case .Bottom:
-                    titleLabel.snp_remakeConstraints { make in
-                        make.left.equalTo(self).offset(SettingsTableSectionHeaderFooterViewUX.titleHorizontalPadding)
-                        make.right.lessThanOrEqualTo(self).offset(-SettingsTableSectionHeaderFooterViewUX.titleHorizontalPadding)
-                        make.bottom.equalTo(self).offset(-SettingsTableSectionHeaderFooterViewUX.titleVerticalPadding)
-                    }
-                }
-            }
+            remakeTitleAlignmentConstraints()
         }
     }
 

struct SettingsTableSectionHeaderFooterViewUX {
    static let titleHorizontalPadding: CGFloat = 15
    static let titleVerticalPadding: CGFloat = 6
}

class SettingsTableSectionHeaderFooterView: UITableViewHeaderFooterView {

            make.top.left.right.equalTo(self)
            make.height.equalTo(0.5)
        }

        remakeTitleAlignmentConstraints()
    }

    override func prepareForReuse() {
