Initial work to make a Role class

Fixes #5708