     
     
     private(set) var selectedIndexPaths : [NSIndexPath] = [NSIndexPath]()
+    /// Returns all selected dates
     public var selectedDates : [NSDate] = [NSDate]()
     
     lazy private var monthInfo : [[Int]] = {

///
/// You can use these cell states to configure how you want your date cells to look. Eg. you can have the colors belonging to the month be in color black, while the colors of previous months be in color gray.
public struct CellState {
    public enum DateOwner: Int {
        /// Describes the state of a date-cell
        case ThisMonth = 0, PreviousMonthWithinBoundary, PreviousMonthOutsideBoundary, FollowingMonthWithinBoundary, FollowingMonthOutsideBoundary
    }
    public let isSelected: Bool
    public let text: String
    public let dateBelongsTo: DateOwner
}


            delegate.calendar(self, didDeselectDate: dateSelectedByUser, cell: selectedCell?.cellView, cellState: cellState)
        }
    }
    /// Asks the delegate if the specified item should be deselected. true if the item should be deselected or false if it should not.
    public func collectionView(collectionView: UICollectionView, shouldDeselectItemAtIndexPath indexPath: NSIndexPath) -> Bool {
        if let
            dateUserSelected = dateFromPath(indexPath),
