What's the relationship between ACharacter and Animation

I konw ACharaterController receives what player input events, then ACharacter class will response to this input events.for instance,when player press space bar down,the character will jump. This is a simple example,but I don’t konw how can this happen? Even I don’t konw how can UE4 play animations? can someone tell me the work flow more clearly.Thanks!
The following is from my poor understanding.
Because the animation buleprint will execute per frame,and determine a result pose per frame. The AnimGraph will sample the character animation per frame.
When ACharaterController receives input events,it will change the state of character,maybe the value of any variables in the character object,then those changes whill influnce the final pose per frame.