ProviderService requiring Player to initialize "PlayerSystem" T.
Returns new instance of T is given arg is instance of Player. Otherwise, throws ClassCastException.
Returns new instance of T initialized with the given player object.