Handle conditions that don't take a user argument
Refactor and clean up some logic, implement Role.grantRole#everyone, and Role#logged_in.