     /// The rows which will contain any + or - fields
     private let plusRows = [0, 2, 3, 5, 6,  8, 9, 11]
 
-    /// The GPA scale type, which tells the controller how many of the cells to display (plus or no plus rows)
-    private lazy var scaleType: GPAScaleType = DatabaseManager.shared.realm.objects(GPAScale.self).first!.scaleType
-
     /// The realm notifcation token for listening to changes on the GPAScale
     private var notifToken: NotificationToken?
 
     /// The GradeRubric object which this table manages
     private var rubric: GradeRubric {
         return DatabaseManager.shared.realm.objects(GradeRubric.self).first!
+    }
+
+    /// The scale type of the rubric
+    private var scaleType: GPAScaleType {
+        return DatabaseManager.shared.realm.objects(GPAScale.self).first!.scaleType
     }
 
     /// The grade percentage views, 1 per cell that the table statically displays

            let attrs = [NSAttributedStringKey.foregroundColor: ApplicationTheme.shared.secondaryTextColor(),
                         NSAttributedStringKey.font: UIFont.systemFont(ofSize: 18)]

            if scaleType == .nonPlusScale && self.plusRows.contains(index) { continue }

            if rangeIndex == 0 {
                view.lowerBoundField.attributedPlaceholder = NSAttributedString(string: "\(self.rubric.percentage(for: rangeIndex, type: .lowerBound))% +", attributes: attrs)

    }

    private func resetPercentages() {
        GradeRubric.createRubric(ofType: self.scaleType)
        self.resetFields()
        self.updateFields()
    }
