This seems really weird. What is this innerView thing? Why not just have 'setInnerView' and 'setOuterView'?