implement new self-configuring plugin approach and make the relevant changes to existing plugins and tests