         let width: CGFloat = self.width
         let height: CGFloat = self.height
         
-        let buttonSideLength: CGFloat = 0.6 * height
+        let buttonSideLength: CGFloat = self._buttonHeightRatio * height
         let dayNamesHeight: CGFloat = height - buttonSideLength
         
         let buttonSize: CGSize = CGSize(width: buttonSideLength, height: buttonSideLength)
         let dayNamesViewFrame: CGRect = CGRect(x: 0, y: buttonSideLength, width: width, height: dayNamesHeight)
         
         let buttonSideLengthRatio: CGFloat = buttonSideLength / width
-        let gradientRatio: CGFloat = 0.05 // ???: Should this be moved into the class declaration?
+        let gradientRatio: CGFloat = self._gradientWidthRatio
         let buttonSideLengthPlusGradientRatio: CGFloat = buttonSideLengthRatio + gradientRatio
         let backgroundLayer: CAGradientLayer = self._backgroundLayer
         backgroundLayer.locations = [

// MARK: - CalendarHeaderView
// MARK: Interface
extension CalendarHeaderView {
    var delegate: CalendarHeaderViewDelegate? {
        get {
            return self._delegate

        super.init(frame: frame)
        self._addSubviews()
    }
    
    // Private Constants
    fileprivate let _buttonHeightRatio: CGFloat = 0.6
    fileprivate let _gradientWidthRatio: CGFloat = 0.05
    
    // Private Weak Variables
    fileprivate weak var _delegate: CalendarHeaderViewDelegate?
