         view.addObserver(self, forKeyPath: #keyPath(UIView.traitCollection), options: [.new], context: nil)
         
         self.viewEnvironment = viewEnvironment ?? view
-        
-        // Inject data into layout
-        if let rawData = self.rawData as? Data {
-            self.rawData = self._injectDataIntoLayout(data: self.injectedData, layoutData: rawData)
-        }
         
         // Create target views
         for (viewId , viewModel) in self.viewIndex.contents {

        for (name , val) in data {
            self.injectedData[name] = val
        }
    }
    
    /// Replacing variable placeholders in the layout data with the values supplied

    }
    
    public func updateViewIndex () {
        // Inject data into layout
        if let rawData = self.rawData as? Data {
            self.rawData = self._injectDataIntoLayout(data: self.injectedData, layoutData: rawData)
        }
        
        func _process (_ view : ELViewModel , parentView : ELViewModel? = nil) {
            var viewModel : ELViewModel! = view
            
