     }
   }
 
-  var instance: Node!
+  lazy var instance: Node = self.makeInstance()
   private lazy var pendingStateMutations = [StateMutation]()
   private lazy var pendingStateMutationCallbacks = [StateMutationCallback]()
 

    return render().build(with: self)
  }

  open func render() -> Template {
    fatalError("Must be implemented by subclasses")
  }

  public var element: ElementData<PropertiesType>
  public var builtView: ViewType?
  public var context: Context?
  public lazy var state: StateType = self.getInitialState()

  public var properties: PropertiesType

