Started implementing the View layer and associated functions and objects.
Merge origin/master