Move DriveNode to a new package and gonna refactor it because currently its constructor creates children DriveNodes, and this is a flaw described as "Constructor does Real Work" in Google's guide of writing testable code.