extract onInteraction to BehaviorBase
articles BehaviorPart1