In this episode: straightening out the mess.

Justin and I retire to our Summer retreat, and refactor the application to conform to a nice, clean, architecture.

Our goal is to separate the games rules, the data, and the GUI into separate components that have a plugin structure. We want the GUI and the Data modules to plug in to the Game rules.

This takes three tomatoes of dependency breaking and reforming, while keeping the tests passing.

And in the end we've created the seed crystal around which this application can continue to safely grow.

The github repository for this series can be found at: