I've updated this for the ones that set metadata, this doesn't deregister hooks at the moment (that would require more changes, do we want to support that?)