TL;DR: Only new Context(...) once at the RunAsync(..) method. That's it!
Overview
Improve Context sharing between states. As of v2.0.0, the Context object is recreated multiple times during state transitions. Keep the same one alive.
For Composite states, clear the LastChildResult after the parent state's OnExit is executed, so the next Composite state up the chain gets a clean result.
Warning: Composite -> Composite -> Composite -> ..., make sure to cleanly reset the LastChildResult