     // MARK: - Properties
     
     var headerView: GCCalendarHeaderView!
-    var monthViews: [GCCalendarMonthView] = []
-    
-    var panGestureStartLocation: CGFloat!
+    
+    private var monthViews: [GCCalendarMonthView] = []
+    
+    private var panGestureStartLocation: CGFloat!
     
     // MARK: - Initializers
     

            self.addConstraints([monthView.topConstraint, monthView.bottomConstraint, monthView.widthConstraint])
        }
        
        self.updateConstraintsForMonthViews()
    }
    
    // MARK: Constraints
    
    private func updateConstraintsForMonthViews()
    {
        for monthView in self.monthViews
        {
            if monthView.leftConstraint != nil
            {
                self.removeConstraint(monthView.leftConstraint)
            }
            
            if monthView.rightConstraint != nil
            {
                self.removeConstraint(monthView.rightConstraint)
            }
        }
        
        self.updateConstraintsForPreviousMonthView()
        self.updateConstraintsForCurrentMonthView()
        self.updateConstraintsForNextMonthView()
    }
    
    private func updateConstraintsForPreviousMonthView()
    {
        self.previousMonthView.rightConstraint = NSLayoutConstraint(i: self.previousMonthView, a: .Right, i: self.currentMonthView, a: .Left)
        
        self.addConstraint(self.previousMonthView.rightConstraint)
    }
    
    private func updateConstraintsForCurrentMonthView()
    {
        self.currentMonthView.leftConstraint = NSLayoutConstraint(i: self.currentMonthView, a: .Left, i: self)
        
        self.addConstraint(self.currentMonthView.leftConstraint)
    }
    
    private func updateConstraintsForNextMonthView()
    {
        self.nextMonthView.leftConstraint = NSLayoutConstraint(i: self.nextMonthView, a: .Left, i: self.currentMonthView, a: .Right)
        
        self.addConstraint(self.nextMonthView.leftConstraint)
    }
    
    // MARK: Properties

        
        self.addHeaderView()
        self.addMonthViews()
    }
    
    public override func layoutSubviews()
    {
        super.layoutSubviews()
        
        self.updateCentersForMonthViews()
    }
}

