Well, the point of transitions is to identify the state of a plugin to
other plugins. If you plugin in not in the RUNNING state after .start
is called, then you SHOULD NOT say it is. If it's after your class gets
initialized, then that is when you should transition your plugin.
Remember, the plugin is passed into the constructor to allow the class
instance to do necessary things to the plugin instance. The fact that
we (normally) transition immediately does not mean this is the correct
behavior for all plugins.
So, I would say to move the transition code to the point where the
actual state of the plugin IS in the state you are reporting (in this
instance...RUNNING).