Merge view refactor proposal with upstream

These commits feel *rough*. I tried to merge my stuff with upstream, but this did not go very smoothly, partly due to my own stupidity.

I promise I'll start doing more commits to adhere to the coding standards and get the workflow plugged in again in the controllers!

And also promise to remove those TODOs.