Sequence represents a series of Behaviors. The first
Behavior::next_command() is repeatedly called until it yields None, and
then it moves to the second Behavior, and so forth.
Target enum is used to specify a Player based on some predefined
conditions. Some Behaviors like FireAt works with Target to dynamically
compute the target Player.
Behavior trait abstracts an action or a series of actions that a Player
can take. It may be useful if you want to model a complex behavior, that
spans multiple ticks, or whose interpretation changes dynamically. You can
use Sequence::with_slice() to combine multiple behaviors.