CharacterStateController
 Responsibility: to identify
          character states, initialized in BattleController 
It has a bunch of dependencies, like HealthProvider,
          DistanceProvider, etc.
There’s a specific controller for each state in the constructor to create state
          controllers.
Every frame the Battle controller calls Calculate(), inside method based on the amount of
          health or distance to the opponent character, etc. 
class determines whether the character’s state should
          change or not 
        
