// initialize StateId and Parent's StateId
 public void InitializeId()
 {
     if (_initialized)
     {
         return;
     }
     StateId = name;
     if (ParentState != null)
     {
         ParentState.InitializeId();
         StateId = $"{ParentState.StateId}/{StateId}";
     }
     _initialized = true;
 }