In order to have different system behaviours easily, a controller belongs to a group.
Two controllers can have the same Mask only if they are not in the same group.
Controller groups are used to define a subset of controllers to use. When the system is
running, there are only TWO active groups. The others are desactivated. This means
that there are only the scripts which belongs to controllers in the active groups
which are applied.
When a message is processed by the control subsystem, it will first be processed by the first controller group and then by the second group.