Plugins

I know I wanted to have a decent example plugin made for this, but I think it makes sense to do that as a separate topic.

ping @mgrauer @cpatrick @scottwittenburg for review & feedback