No, seriously, this commit breaks everything if you open a reply.
It's k, though, that's why this branch exists: so I can break it
all without harming end users and stable development.
Holy carp, though, the amount of errors thrown!
Obviously to start, I want to make adding and removing callbacks
simpler, because I'm going to need to be disabling and enabling
features on the fly quite a lot, I'm guessing.