Several changes to the view adjustment code/view.
Important note: All views MUST have different names and be stored in
different variables otherwise we cannot properly add and remove views.
Merge branch 'david3' into david4