In this episode: the Architecture intrudes.

We start to see the architecture rearing up and asserting itself, which begins with a discussion about the turn-taking policy. Where does that belong? And, in which direction should the dependencies point?

This leads to the adoption of the Model-View-Presenter pattern, to decouple the testable from the untestable portions of the GUI.

Various dependency management techniques are tried, including one using lambdas that ends up burning our brains at the end of the episode.

Oh, yeah, and we get caught by that refactoring we did last episode, when we removed all the keyword arguments.

Anyway...the Architecture has begun.

The github repository for this series can be found at: