I`m not sure how I`d call the second option, but this increases flexibility. I`ll be able to create my own provider that does not require options.

But the point is that you are currently putting the instantiation logic of the provider into the `RoleLoaderListenerFactory`