The OBDH2 board will be used in multiple missions, while some those can have simple Concept of Operations, others don't. Thus is important to provide some level of abstraction for the Mission Manager implementation instead of relying on mission specific globals, which would turn the code unmaintainable really quick. Naturally, completely removing mission specific globals is almost impossible, but by following a state machine approach, they can be much more organized.