Class inheritance wasn't quite working, and, worse, wasn't tested. Is now. All still looks a bit ugly, but that's what tomorrow is for.
Breaking down the eval block to its minimum.
Rearranging the order in the createSubclass method.
Thanks to prior rearranging, got rid of the hardcoded ObjectWithAccessors.create_accessors, so that itself is overridable in the subclass.
Wanted to tweak how methods may be overridden. Look at tests for details.
Realised I hadn't actually tested the behaviour of the '_super' method (instance or class). Turned out there was a bug in the class version, but works now.