There is a downside to passing the whole defintion and giving the plugins more flexibility: more chance for plugins to trip over each other in complex and interesting ways. Simplicity might be good here.