Revised plugin framework