 
 		let observer = CFRunLoopObserverCreateWithHandler(kCFAllocatorDefault, CFRunLoopActivity.BeforeWaiting.rawValue, 0, 0) { _, activity in
 			self.renderQueued = false
-			self.render()
+			self.renderSelf()
 		}
 		CFRunLoopAddObserver(CFRunLoopGetMain(), observer, kCFRunLoopCommonModes)
 	}


	// MARK: Lifecycle

	public func render(state: S) -> Element {
		if let renderFn = renderFn {
			return renderFn(self, state)
		} else {

	/// be performed at the end of the runloop. Instead it immediately 
	/// re-renders.
	final public func forceRender() {
		renderSelf()
	}
	
	/// Called when the component will be realized and before the component is
