Tree widget + provider (wip)