I recently created a basic routing configuration for a test module
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd">
<router id="standard">
<route id="helloworld" frontName="helloworld">
<module name="Pulsestorm_Helloworld" />
</route>
</router>
</config>
and then created a controller file at
app/code/Pulsestorm/Helloworld/Controller/Index/Index.php
Everything work as expected -- but I was surprised to discover that Magento had automatically created an interceptor for my new controller.
var/generation/Pulsestorm/Helloworld/Controller/Index/Index/Interceptor.php
I didn't configure any plugins for my controller -- so I'm little confused as to why Magento generated an interceptor.
What makes Magento 2 automatically create an Interceptor for new controllers?