protected override Composite CreateBehavior_CombatOnly()
        {
            return(new PrioritySelector(isViableContext => { return IsViableForItemUse(Me.CurrentTarget); },

                                        // If we acquired mob aggro while on the way to our selected target,
                                        // deal with the aggro'd mob immediately...
                                        new ActionRunCoroutine(context => UtilityCoroutine.PreferAggrodMob()),

                                        // Combat with viable mob...
                                        new Decorator(isViableContext => (bool)isViableContext,
                                                      SubBehavior_CombatWithViableMob()),

                                        // Combat with non-viable mob...
                                        new Decorator(isViableContext => !(bool)isViableContext,
                                                      SubBehavior_CombatWithNonViableMob())
                                        ));
        }