 extension ForecastView: UICollectionViewDelegateFlowLayout {
     
     public func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
-        toggleLayout()
+        state.toggle()
     }
     
 }

    private enum ForecastViewState {
        case Collapsed
        case Expanded
    }
        
    private func numberOfDays() -> Int {

    
    private var collectionView: UICollectionView!
    private let layout = UICollectionViewFlowLayout()
    private var state: ForecastViewState = .Collapsed {
        didSet {
            guard expandable else { return }
            guard let collectionView = collectionView else { return }
            
            collectionView.reloadData()
            collectionView.layoutIfNeeded()
            
            UIView.animateWithDuration(duration, delay: 0, usingSpringWithDamping: 0.75, initialSpringVelocity: 0.6, options: .BeginFromCurrentState, animations: { [weak self] in
                self?.invalidateIntrinsicContentSize()
                self?.superview?.layoutIfNeeded()
                }, completion: nil)
        }
    }
    private var items = [Forecast]() {
        didSet {
            NSOperationQueue.mainQueue().addOperationWithBlock {
