Added view stack

the view stack is a lifo stack that keeps track of what view we are in
and also keeps track of prior views.