introduce names for user backends - via IUserInterfacev2

cc @DeepDiver1975 @icewind1991 @PVince81 @DeepDiver1975 

Is this how we should add stuff to a interface that is implemented by third party apps?

ref #12620 #12806 
Maybe `IUserBackend`? Because we have `IUser`(represents one user), `IUserManger` (manages user backends), `UserInterface` (old version of this but it describes a backend)