The generic param `T` should parameterize the type of Token returned, as libraries see `IToken<T>` returned, instead of the implementation type
The generic param
Tshould parameterize the type of Token returned, as libraries seeIToken<T>returned, instead of the implementation type