Move some functionality to view to decouple
Make refactoring easier by decoupling constants in constructor as well as refactor head link building
Change some documentation/whitespace