Introduction
Mixins let you share code between classes easily. Custom modules help you add useful features without repeating code.
You want to add the same behavior to many classes without repeating code.
You want to organize related methods in one place and use them in different classes.
You want to keep your classes simple and add extra features only when needed.