 
 public class KolodaView: UIView, DraggableCardDelegate {
     
-    public weak var dataSource: KolodaViewDataSource! {
+    public weak var dataSource: KolodaViewDataSource? {
         didSet {
             setupDeck()
         }

    }
    
    public func reloadData() {
        countOfCards = Int(dataSource!.koloda(kolodaNumberOfCards: self))
        let missingCards = min(countOfVisibleCards - visibleCards.count, countOfCards - (currentCardNumber + 1))
        
        if countOfCards == 0 {
            return
        }
        
        if currentCardNumber == 0 {
            clear()

    }
    
    private func overlayViewForCardAtIndex(index: UInt) -> OverlayView? {
        return dataSource?.koloda(self, viewForCardOverlayAtIndex: index)
    }
    
    //MARK: Actions
