Halfway towards a more flexible plugin infrastructure.