 
     var playerMarkLabel: UILabel!
 
+    override func awakeFromNib() {
+        📘("Created a \(className(self.classForCoder)) object")
+    }
+    
     func configCell() {
         self.backgroundColor = UIColor.red
         self.playerMarkLabel.text = ""

        super.viewDidLoad()

        collectionView.register(ProgrammaticallyGameCell.self, forCellWithReuseIdentifier: ProgrammaticallyGameCell.REUSE_IDENTIFIER)
        collectionView.register(XibGameCell.self, forCellWithReuseIdentifier: XibGameCell.REUSE_IDENTIFIER)
    }

    override func viewDidAppear(_ animated: Bool) {

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

        // This will: (1) dequeue the cell, if it doesn't exist it will create one. (2) will cast it to our custom cell. (3) will assert that the casting is legal.
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: XibGameCell.REUSE_IDENTIFIER, for: indexPath) as! GameCell

        cell.configCell()

