Starting to settle in on a workable approach

Needs way more tests though