public static void SetGraphicalUiElement(this ElementSave elementSave, GraphicalUiElement toReturn, SystemManagers systemManagers) { // We need to set categories and states first since those are used below; toReturn.SetStatesAndCategoriesRecursively(elementSave); toReturn.CreateGraphicalComponent(elementSave, systemManagers); toReturn.AddExposedVariablesRecursively(elementSave); toReturn.CreateChildrenRecursively(elementSave, systemManagers); toReturn.Tag = elementSave; toReturn.SetInitialState(); }