Radically simplify the tree, the async behaviour is a separate concern