Roles versus mixins
Many things that roles are more difficult than mixins, which might be attributed to the fact that when we talk about mixins, we focus on the concrete implementation aspect of the mixin itself. When we talk about role, we usually discuss how this role collaborates with other roles to produce a unit-of-work.