just remember that a module is a class can only be instantiated as a superclass of a class that includes the module. include and extend are methods that modify the class inheritance chain at runtime.
Jamie Zawinski is what I would call a duct-tape programmer.... He is the guy you want on your team building go-carts, because he has two favorite tools: duct tape and WD-40. And he will wield them elegantly even as your go-cart is careening down the hill at a mile a minute