Simplify the hacks.
Add support for disabling rotations while interacting with the view.
Refactoring checkpoint.