@ghurtado: JavaScript IS an OOP language. Its only that it uses the prototype paradigm, instead of the class-based paradigm, which is more common.
And JavaScript is NOT the only prototype-based OO language, but certainly is the more widespreaded one.
Most programmers were introduced to OOP using class-based languages, and once they start with JavaScript feel frustrated since the paradigm is different. But that does not mean prototype is in any way "bad" or "inferior".
All the opposite! Prototype is a very powerful paradigm and is quite easy to emulate the class-based paradigm with it. (That is the reason there are so many frameworks like this one, trying to make developers save the effort to learn the new paradigm)
In my humble opinion, I think developers should spend time studying and REALLY understanding how prototype work on JavaScript, instead of using libraries to make it look like Java or some other class-based language (yes, @israelidanny, I agree with you)
But of course, if using this kind of libraries is your cup of tea, is completely respectable.
Crockford has written several documents about it, like this one: http://yuiblog.com/blog/2006/11/13/javascript-we-hardly-new-ya/
Hmmm... visibility declared in strings? I admittedly didn't look into it too much, but it seems to be another attempt at Classic-Objectifying a non OOP language.