Initial, hacky tree impl
Persist tree state
Merge branch 'tree'