 	///
 	/// This will be nil for elements which haven't been realized yet or haven't
 	/// been returned from the render function.
-	public func getView(#key: String) -> ViewType? {
+	final public func getView(#key: String) -> ViewType? {
 		if let realizedElement = rootRealizedElement {
 			return getViewRecursive(key, rootElement: realizedElement)
 		} else {

		}
	}

	private func enqueueRender() {
		if renderQueued { return }

		renderQueued = true

	}
	
	/// Update the state using the given function.
	final public func updateState(fn: S -> S) {
		precondition(NSThread.isMainThread(), "Component.updateState called on a background thread. Donut do that!")

		let oldState = state
