Also bitte nichts durcheinander werfen! Erst einmal willst Du einen Algorithmus festlegen und das ganz offensichtlich auf sehr hohem Nivieau.
Da dann bitte keine Low Level Details einmengen!
Also ob da irgendwas als enum dargestellt wird oder nicht ist erst einmal für den Algorithmus doch egal.
Die Frage ist auch: Wozu brauchst Du einen solchen Zustand? Wo spielt der hier eine Rolle?
Du hast drei Schritte im Algorithmus aufgezeigt:
1. Gehe zur Ressource (Hinweis am Rande: Wenn Deutsch, dann Ressource, wenn Englisch, dann Resource mit einem S)
2. Nimm Ressource
3. Trage Ressource zum Hauptquartier
Einen Zustand brauchst Du für den Algorithmus nicht, denn Du weisst ja: Ich bin gerade bei Schritt 1. oder ich bin gerade in Schrit 2. Daher ist klar, was gerade abgeht. (Aber natürlich: Auf eine niedrigeren Ebene kann das durchaus wichtig oder interessant sein. Aber diese Ebene sehen/kennen wir auf dieser Ebene ja nicht und können diese daher nicht betrachten.
Das ist so ein Prinzip, dass wir so auch bei Methoden direkt kennen. Da sollte man auch möglichst auf einer Ebene sein und bleiben. Das ist also etwas vergleichbar mit den Tätigkeiten einer großen Firma:
Der CEO wird irgend welche Aufgaben auf hohem Niveau machen um dann nidrigere Ebenen zu beauftragen (im Code sind das Aufrufe). Er wird nicht den Besen nehmen um dann Dreck auf dem Hof weg zu machen. Das ist Low Level. Statt dessen geht er zum Standort-Verantwortlichen aber da geht es dann nicht um ein spezifischen Dreck sondern um die generelle Prüfung der Sauberkeit und der ist dann zuständig und macht dann einiges mehr (Weil es Abhängigkeiten gibt. Ggf. ist etwas weiter noch mehr Dreck und beim wegmachen wird festgestellt, dass eine Tonne voll ist und die wird dann getauscht mit einer leeren und und und ...
Ist das etwas verständliuch und hilfreich? Konkretere Dinge kann ich Dir gerade nicht sagen, da die Problematik so noch nicht weiter zu greifen ist für mich. Evtl. kannst Du mehr Details bringen und es etwas mehr ausführen?