Maybe we should make this protected and then have a property that calls into it:

```
public Task<string> GroupsToken
{
   get { return GetGroupsToken(); }
}
```

That way, at least, you won't need the CA1024 suppresion in `ITransport`.