 ///
 /// By default whenever the component's state is changed, it re-renders itself 
 /// by calling the `render` function passed in to its init. But subclasses can
-/// optimize this by implementing `componentShouldUpdate`.
+/// optimize this by implementing `componentShouldRender`.
 public class Component<S>: Element {
 	/// The state on which the component depends.
 	private var state: S
 
-	private var rootElement: Element?
 	private var rootRealizedElement: RealizedElement?
 
 	private var hostView: ViewType?

			}
		}

		componentDidUpdate()
	}

	/// Update the component without changing any state.
	public func forceUpdate() {
		enqueueRender()
	}
	

	private func realizeComponent() -> RealizedElement {
		componentWillRealize()

		let root = render()
		let realizedRoot = realizeNewRoot(root)

		componentDidRealize()

