In addition to roles, also use schemas. That way you can grant execute permissions for a role to a schema. It makes things much easier to manage as Steve says.
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood" - Theodore Roosevelt