Decoupling Behavior from Event.

Introducing an IBehaviorSource interface containing the methods required
by the Behavior, instead of depending on the Event class directly.