 //		tar.launch()
 	}
 
+	// MARK: - WebKit Delegate(s) methods
+	
 	func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
 		if emptyNavigations.contains(navigation) {
 			emptyNavigations.remove(navigation)

{
	var contextualMenuDelegate: ContextualMenuDelegate?
	var sessionController: SessionController?
	private var context: MutableProperty<EditorContext?> = MutableProperty<EditorContext?>(nil) { didSet { contextChanged() }}
	private let contextDisposables = CompositeDisposable()
	private var contentsDisposable: Disposable?
	private var lineContiuationRegex: NSRegularExpression!

	private var readyForContent: Bool { return resourcesExtracted && needToLoadDocumentOnLoad }
	private var parseInProgress = false
	private var emptyNavigations: Set<WKNavigation> = []
	private var headerContents = ""
	private var footerContents = ""
	
	var editorContext: EditorContext? {
		get { return context.value }
		set {
			// do nothing if same as existing context
			if let c1 = context.value, let c2 = newValue, c1.id == c2.id { return }
			context.value = newValue
			contextChanged()
		}
