 	}
 
 	private func update() {
-		if rendering {
-			renderQueued = true
-			return
-		}
-
-		rendering = true
-
 		let newRoot = render(state)
 		let oldRoot = rootRealizedElement
 		if let oldRoot = oldRoot {

		}
		
		componentDidUpdate()

		rendering = false

		if renderQueued {
			renderQueued = false
			update()
		}
	}

	/// Update the component without changing any state.


	private let renderFn: ((Component<S>, S) -> Element)?

	private var needsRender: Bool = false

	/// Initializes the component with its initial state. The render function 
	/// takes the current state of the component and returns the element which 
