Add Walk() to Tree
Refactor Buffer factory