IOnlineSubsystemPtr (wanting to cache subsystem) in one class for use in others

Hello all, I am wondering how to use IOnlineSubsystemPtr to cache the subsystem in use?

I plan to have one class that holds the cached subsystem so I can simply #include it where I need it and call functions like so:

CachedSubSys->MyFunctionToGetPlayerID();

Currently I am using the code in the pic and it’s checking for the subsystem and then getting the ID.
If I want to use the subsystem’s achievements I’d need to call the subsystem again…I want to avoid this by caching it to a pointer.

I see IOnlineSubsystemPtr which I assume is what I want to use but I don’t know how to store it in my class.
I have tried and it gives an error similar to “this is an abstract method”. (I can’t remember as I deleted the faulty code).

Any help would be appreciated!! Thanks.