decoupled client & token
Config#provider= requires full class name of provider
added experimental plugin dsl