Using behavior trees to implement component orchestration