     func setup() {
         button.translatesAutoresizingMaskIntoConstraints = false
         button.titleLabel?.textAlignment = .Center
+        button.addTarget(self, action: "buttonTapped:", forControlEvents: .TouchUpInside)
         contentView.addSubview(button)
         
         let views = ["button": button]

    }
    
    func numberOfRows() -> Int {
        return delegate?.numberOfRowsInNumberPad(self) ?? 0
    }
    
    func numberOfColumnsInRow(row: Int) -> Int {
        return delegate?.numPad(self, numberOfColumnsInRow: row) ?? 0
    }
    
}

// MARK: - CollectionViewCell
class CollectionViewCell: UICollectionViewCell, ReusableView {
    
    let button = UIButton(type: .Custom)
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

    }
}

extension Cell: ReusableView {}

// MARK: - Extensions
extension UICollectionView {
    
    func register<T: UICollectionViewCell where T: ReusableView>(_: T.Type) {
