Added real roles. Added comments describing how roles work.
Add specs to test role setting and checking