         guard
             
             let view:ViewParent = self.view as? ViewParent,
-            let newView:View = controller.view as? View
+            let newView:ViewProtocol = controller.view as? ViewProtocol
             
         else
         {

            
            guard
                
                let view:View = controller.view as? View
                
            else
            {

            guard
                
                let view:ViewParent = self.view as? ViewParent,
                let currentView:ViewProtocol = currentController.view as? ViewProtocol
                
            else
            {
