public virtual void SetState(ISystemContext context, uint newState)
{
uint transitionId = GetTransitionToState(context, newState);
UpdateStateVariable(context, newState, CurrentState);
UpdateTransitionVariable(context, transitionId, LastTransition);
}