refactor HeroAnimator