Now differentiating between a module role and a module name.

A role for example can be "database". A name is a "unique ID" or an implementation of a role. Usually for the modules developed by ourselves, the name will be the same as the role.