...or make it a dependency for a new class...

Because the Extends class is in quotes, it is automatically loaded. Had it not
been in quotes, the class/namespace would have to exist before-hand.

Why

Enterprise-level development, in my experience, requires organization & quality
on the client-side that is normally seen on the server-side. Simply put, you would
find Zend Framework namespaced in the /library/Zend/... folder and, similarly, the
client-side scripts would likely be located in /public/js/my/..., where my is your
company or project name.

Current Limitations

As Mootools is not yet namespaced (aside from folder structure), I've forked the
Mootools Core and Mootools More repositories to clean up structure
for autoloading & implement namespacing. For example, Fx.Tween becomes
Moo.Core.Fx.Tween. Element.tween continues to work, as well as new Fx.Tween.

Remember, this grew out of the need for namespacing within existing enterprise-level
code, not for improving upon Mootools' pseudo-namespacing.

Example Require Entire Library

Often in large applications, you will need a whole library in the beginning to
prevent any delayed execution of events (animations, AJAX calls, etc.).

In the following example, we have an application that has a login page that may
allow the user to register or login with an existing account. There may be specific
animations only used in this page, custom validation for the forms and their respective
templates, as well as events associated with elements on the page.