[RFC] First draft of plugin interface design

@csavage-mdsol @sheavalentine-mdsol please review (not now. when you're actually at work).
What does name and type do?