 			self?.appStatus?.updateStatus(nil)
 		}
 	}
-	
-	//MARK: SessionFileHandlerDelegate methods
+}
+
+//MARK: SessionFileHandlerDelegate methods
+extension Session {
 	
 	/// callback when the file handler has loaded all files
 	func filesLoaded() {

		}
		self.wsSource.send(data)
	}
	
	//MARK: private methods
	
	//assumes currentContents of document is what should be sent to the server
	///returns a token to uniquely identify this transaction, encoded into the message data
	private func encodeDocumentSaveMessage(document:EditorDocument, data:NSMutableData) -> String {
		let uniqueIdent = NSUUID().UUIDString
		let encoder = MessagePackEncoder()
		var attrs = ["msg":MessageValue.forValue("save"), "apiVersion":MessageValue.forValue(Int(1))]

		}
	}
	
	func handleFileResponse(transId:String, operation:FileOperation, file:File) {
		switch(operation) {
		case .Duplicate:
			//TODO: support
