Refactoring the role management interface (error handling still missing)...

....