First pass at the plugin generator