initial draft of generic behavior tree