Annotate + documentation.

While debugging #740 I had a 'hard' time to debug. This PR helps a little.
While documenting that part I expected an interface as RoleBase or RoleBase implementing one like RoleInterface.

As there is no interface RoleBase was the best to pick.