The Behaviors API

Two Behaviors API functions are required (applyBehavior() and behaviorFunction()); the rest are optional.