Changes to the plugin design to support transactions