The code is looking good now and the examples are good too, I can get my head around most things.
The workflow is mutable right, so if I want a characters such as a pacman ghost to follow a particular path, I can set a workflow. If the path changes I can change the workflow. Is that a reasonable usage?
Can you explain the vertical sync problem?
At the moment, it flickers "slightly" with vertical sync off, but moves reasonably smoothly.
WIth vertical sync on it has a noticeable slow down for very short periods and speed up to normal speed. What if I fixed the frame rate to a lower frame rate?
In either case, its not good for a game to have either one of these cases, but I can develop with it.