The chief lesson here is parameterized modules - specifically, parameterizing modules by instantiating a class derived from Module, rather than simply including the instance methods of a module directly.<p>I don&#x27;t think this is an esoteric technique, any gripes about the specific examples chosen notwithstanding (probably chosen for their simplicity, not their utility). It&#x27;s little different to inheriting from a template in C++.