In principle the idea is simple: Add to the plot classes the ability to create a movie of all plots. This is well supported by matplotlib through something called "frame grabbing".
However, there are two complications. First, it adds a whole chain of further dependencies (ffmpeg, ...), and it needs to be checked if this is acceptable or not. Second, you should generally open and close the movie file at some point, so this may be a good point to introduce initialization and finalization of observers. In more abstract terms, the plot classes are then a lot more stateful than I initially thought about observers. Doing so hence changes a bit how observers and propagators work.
Used Matplotlib's animation functionality. This has a dependency on FFMpeg, which is at least under Windows an additional install, but something is probably unavoidable.
Diff:
Diff:
Diff: