         for (name , val) in data {
             self.injectedData[name] = val
         }
+        
+        // Update the view index so this new data is added into the layout
+        self.updateViewIndex()
     }
     
     /// Replacing variable placeholders in the layout data with the values supplied

    }
    
    public func updateViewIndex () {
        func _process (_ view : ELViewModel , parentView : ELViewModel? = nil) {
            var viewModel : ELViewModel! = view
            

        view.addObserver(self, forKeyPath: #keyPath(UIView.traitCollection), options: [.new], context: nil)
        
        self.viewEnvironment = viewEnvironment ?? view
        
        // Create target views
        for (viewId , viewModel) in self.viewIndex.contents {
