Ugh, I've got to do something about this plugin API. This boilerplate makes me mad.