refactor class LearnAbc and BaseBehavior