I think I need to write some more tests. I've got a set of 3 features that individually work perfectly, but when combined, not so much. It's better than it was and close enough to right that it's still usable, but I'm clearly not thinking about this quite right and it takes too long to set up the faulty conditions in live use.