There is a single schedule for the things Marcus does. Different kinds of actions are put on his schedule, and none of them explicitly repeat. Instead one action schedules the next and so forth.
selectors
Several selectors are acquired when Marcus is created. These are cached because they are reused.
To move in a precise direction over time using only unit steps, it is necessary to make horizontal and vertical steps at different timescales. These values are computed from the direction variable.
This variable, together with the frobbed/resisting flags and the remaining energy variable determine whether an incubate step results in work starting, a new incubation period, or the continuation of the existing incubation period.
This flag is set when work begins to prevent frobs from being successful. Don't bother. The office door is locked!