refactored GameEngine tomove processing logic into AbilityComponent