initial version
Generalizing move through rows
Encapsulating Board
Introducing cells and column iteration
Introducing vertical direction
Adding tests for up & down
Extracting actions
Extracting pointers
Nesting dir