Załóżmy, że masz zautomatyzowane procesy, które zasadniczo przechodzą przez następujące stany; zaplanowane - zainicjowane - sprawdzanie poprawności - wykonywanie - zakończone
Ponadto procesy te mogą przedwcześnie zakończyć się z powodu błędu lub wyraźnego anulowania użytkownika.
Moim pierwszym impulsem jest po prostu dodanie błędu i anulowanie do listy możliwych wartości statusu, ale zastanawiałem się nad (koncepcyjnymi) zaletami oddzielania wyniku od statusu (chociaż wydaje mi się, że można argumentować, że błąd i anulowane są również po prostu inne stany niż stan ukończony ).