The basic building block of the whole application.
Component, is a basic and abstract class, used to define a set of HTML
elements to be rendered on screen. For example, to create a button, with
image icon, you will create a
A list of StringComponent.
The only difference with normal List is the toString function, which
will return all the components string representation concatenated together.
This is useful to create a list of HTML elements for example.
Waypoint is a new library implemented to detect if an element is displayed on
screen. Waypoint works by continuously checking whether an element is displayed
on screen by tracking its position relative to a viewport. The name waypoint
came from the same jQuery waypoint functionality.