Views refactor

Split view into separate parts, preventing wild growth.