Task plugins

Branch for just the task based plugins feature. We can talk about the rest whenever you have time.