This is an abstraction that allows us to associate users with ProjectRoles for a project. Implementations can make
this association indirectly like a GroupActor or more directly via something like a UserActor.
Please note: implementations must be immutable as caching presumes this.
Gets the project this is associated with.