\abstract
ECMAScript (more popularly known by the name ``JavaScript'') is the language of
the web. In the decades past, it has been used to augment web pages with trivial
features and obnoxious gimmicks. Today, the language is used to write
full-featured web applications that rival modern desktop software in nearly
every regard and has even expanded to create desktop and server software. With
increased usage, there is a desire to apply more familiar development paradigms
while continuing to take advantage of the language's incredibly flexible
functional and prototypal models. Of all of the modern paradigms, one of the
most influential and widely adopted is Classical Object-Oriented programming, as
represented in languages such as Java, C++, Python, Perl, PHP and others.
ECMAScript, as an object-oriented language, contains many features familiar to
Classical OO developers. However, certain features remain elusive. This article
will detail the development of a classical object-oriented framework for
ECMAScript, ease.js, which aims to address these issues by augmenting
ECMAScript's prototype model to allow the creation of familiar class-like
objects. This implementation enforces encapsulation and provides features that
most Classical OO developers take for granted until the time that ECMAScript
implements these features itself.\footnote{There was discussion of including
classes in ECMAScript 6 ``Harmony'', however it is not within the specification
at the time of writing. At that time, the framework could be used to transition
to ECMAScript's model, should the developer choose to do so.}
