refactor View as a template
implement defining view element attributes
add test for custom section tags and fix bugs
add default log function