I spent an hour this evening circling some code while trying to write an abstracted base class. I was taking the wrong approach.
Even though I need the base class, trying to start by creating it before creating a simple working prototype is a recipe for going in circles and fumbling about.
Build a simple, working prototype for one situation first. Then think about a second, then you start to get the mental models right.
I expect to make better progress tomorrow.
Side note: this is the first post I’ve written entirely on the iPad.