private String uploadRequestData(WebEditorRequest request) {
        byte[] requestBuf = request.encode();

        String pasteId;
        try {
            pasteId = this.plugin.getBytebin().postContent(requestBuf, AbstractHttpClient.JSON_TYPE, "editor").key();
        } catch (UnsuccessfulRequestException e) {
            Message.EDITOR_HTTP_REQUEST_FAILURE.send(this.sender, e.getResponse().code(), e.getResponse().message());
            return null;
        } catch (IOException e) {
            new RuntimeException("Error uploading data to bytebin", e).printStackTrace();
            Message.EDITOR_HTTP_UNKNOWN_FAILURE.send(this.sender);
            return null;
        }

        this.plugin.getWebEditorStore().sessions().addNewSession(pasteId, request);
        return pasteId;
    }
Encapsulates a session with the web editor.

<p>A session is tied to a specific user, and can comprise of multiple requests to and
responses from the web editor.</p>
common/src/main/java/me/lucko/luckperms/common/webeditor/WebEditorSession.java