Hi, and thanks for the question. Please note that Kernel doesn't use constructor functions for some time now. The main reason I did this was to make extensions and mixins easier. Here is how you can extend modules.
// Note: the second argument is an object literal, not a function
Kernel.module.define('Menu', { ... });
Kernel.module.define('ExtendedMenu', {
extend: 'Menu',
...
});
So by using the `extend` property you can extend other modules. It will use the module you are extending as the base and then apply your extended definition on top of it. It is even possible to extend multiple modules like this:
Kernel.module.define('SuperExtendedMenu', {
extend: ['Menu', 'ExtendedMenu']
});
This will apply the module definitions in the order specified: Menu, ExtendedMenu, SuperExtendedMenu.
Let me know if you have any other questions.
Alan