To solve a maze (i.e. a path with branches), I needed to make sure that I did not cause the robot to repeat itself. In an acylical graph (no loops), depth-first search is one valid strategy. To accomplish this, I programmed the Zumo to always take the leftmost possible path in a fork. Given my previous week's code, I only needed to make changes in my NavSys (navigation) class to return the desired path to take. I treated this class as the "brains" of the robot whereas the movement class was the "braun." On a different note, the way I decided to handle intersections was not to store any state but the turn taken.