Nit - any reason not to let your .ctor overload handle the default token provider for you?