Refactored walker to use steps as a common abstraction for getting to the next
resource