(3 secs) If your class definition defines all class methods in modules that extend the class, and all instance methods in modules included in the class, then future modules can extend or be included in the class, and they can call super to call the definition of the method in the most recently included or extended module.
This is because modules are looked up in reverse order of inclusion.
This design approach works very well, but the simplistic approach shown here is a bit verbose.