This looks like a dependency-injection pattern, but the more common way to write it is

```
def __init__(self, userInfoClass=UserInfoBase):
  self.userInfo = userInfoClass()
```

Also, "info" is short for "information" which is already plural, so "infos" is a very awkward abbreviation.