Pointless Objective C quibbling
It’s all kinda neat and I like the runtime-typing freedom, but whoever decided that it was a good idea to end up with runtime exceptions because I accidentally implemented observeValueForKeypath:ofObject:change:context instead of observeValueForKeyPath:ofObject:change:context must be destroyed.