Add GameOfLife class and a functional test