Decoupling with a self-descriptive mediator function
Odd question,


arguments.callee is considered obsolete, it's use will trigger an error in strict mode
On top you use moduleOne, but you pass module1 in the array in your exports call
You did not provide the source for exports
You have both missing &amp; unnecessary semicolons ( jshint.com )
This

var a = arguments,
    l = a.length;
    c = a.callee;


should be

var a = arguments,
    l = a.length, //&lt;- Comma here
    c = a.callee;

Traditionally the private things go on top, with a return/export at the bottom, still I like your way better
I'm assuming your exposed part of the facade is just a show case of what you can do and you will not actually decide which function to call based on parameter count and type.


All in all, I find this introduces complexity while not providing very much in return. Personally, I would hold off on modules until I really need them. And then, use require.js.