public override CellState Evolve(AliveNeighborsCount aliveNeighborsCount)
 {
     if (aliveNeighborsCount.Equals(TO_BECOME_ALIVE))
     {
         return new Alive();
     }
     return new Dead();
 }
 public override CellState Evolve(AliveNeighborsCount aliveNeighborsCount)
 {
     if(aliveNeighborsCount.Equals(AliveNeighborsCount.TWO_NEIGHBORS)) return new Alive();
     if(aliveNeighborsCount.Equals(AliveNeighborsCount.THREE_NEIGHBORS)) return new Alive();
     return new Dead();
 }