Если в систему не закладывается, что ее выполнение могут прервать, то первое if можно опустить.
По окончанию работы системы не предполагается очищение полей order-компонента
```csharp
public override void Update()
{
foreach (var order in _i.ComponentManager.GetCs<SomeOrderC>().Values)
{
//Если был принудительный сброс, то система останавливается
if (order.EndPosition.Es.IsDefaulted)
{
order.SetStatusNone();
order.Path.Clear();
}
//Если входное поле было изменено, то система запускается
if (order.EndPosition.Es.IsChanged)
{
order.SetStatusExecuting();
}
//Если компонент НЕ находится в стадии выполнения приказа, то пропускаем данный компонент.
if (!order.IsExecuting()) continue;
//Какая-то логика системы
//Какая-то логика системы
//Какая-то логика системы
//Завершение работы системы по данному компоненту
order.SetStatusCompleted();
}
}
```