Those familiar
with object-oriented programming languages such as Java, C++ or C#
will be familiar
with the concept
of encapsulating elements
of application functionality into classes
that are then instantiated as objects
and manipulated to create an application.