View is now instantiated via IFFE

* to leverage encapsulation
refactored to move loadProjects func to View

* made code cleaner and more reusable