/// <summary>
 /// Creates a finite state machine object with the given name.
 /// </summary>
 /// <param name="Name">A descriptive name for this state machine.</param>
 /// <exception cref="ArgumentException">Thrown if the value for Name is null, empty or consists only of white space.</exception>
 /// <exception cref="ArgumentException">Thrown if the value for Name starts or ends with white space.</exception>
 public FiniteStateMachine(string Name) : this()
 {
     engine = new FiniteStateMachineEngine(Name);
 }