We could, but this means that we will need something like afterRender for some widgets. I'm thinking inspect and code here.

About the singleton thing, no strong opinion here. It's just that I don't want to have calling an init method. Plugin should start alone.

This is fine, but doesn't change fundamentally what's going on.