Changed Role to RoleInterface so that one doesn't have to extend Role, but simply implement RoleInterface